home *** CD-ROM | disk | FTP | other *** search
/ Precision Software Appli…tions Silver Collection 1 / Precision Software Applications Silver Collection Volume One (PSM) (1993).iso / windows / games / fractdoc.exe / FRACTINT.DOC next >
Text File  |  1990-12-08  |  276KB  |  5,735 lines

  1.                      Fractint Version 15.0                      Page 1
  2.  
  3.  
  4.   New Features in Version 15.0...............................3
  5.  
  6.   Introduction...............................................5
  7.  
  8.   1. Fractint Commands.......................................7
  9.       Plotting Commands......................................7
  10.       Color Cycling Commands................................10
  11.       Palette Editing Commands..............................11
  12.       Save/Restore/Print Commands...........................14
  13.       "3D" Commands.........................................15
  14.       Interrupting and Resuming.............................15
  15.       View Window...........................................16
  16.       More Zoom Box Commands................................17
  17.       Hints.................................................19
  18.  
  19.   2. Fractal Types..........................................20
  20.       The Mandelbrot Set (type=mandel)......................20
  21.       Julia Sets (type=julia)...............................21
  22.       Newton domains of attraction (type=newtbasin).........22
  23.       Newton (type=newton)..................................23
  24.       Complex Newton (type=complexnewton/complexbasin)......23
  25.       Lambda Sets (type=lambda).............................24
  26.       Mandellambda Sets (type=mandellambda).................24
  27.       Plasma Clouds (type=plasma)...........................24
  28.       Lambdafn (type=lambdafn)..............................25
  29.       Mandelfn (type=mandelfn)..............................26
  30.       Barnsley Mandelbrot/Julia Sets (barnsleym1/.../j3)....26
  31.       Barnsley IFS Fractals (type=ifs, ifs3d)...............27
  32.       Sierpinski Gasket (type=sierpinski)...................28
  33.       Quartic Mandelbrot/Julia (type=mandel4/julia4)........28
  34.       Distance Estimator (distest=nnn)......................29
  35.       Pickover Mandelbrot/Julia Types.......................29
  36.       Pickover Popcorn (type=popcorn/popcornjul)............29
  37.       Peterson Variations (xxmarksxx types).................30
  38.       Unity (type=unity)....................................30
  39.       Scott Taylor / Lee Skinner Variations.................31
  40.       Kam Torus (type=kamtorus, kamtorus3d).................31
  41.       Bifurcation (type=bifxxx).............................31
  42.       Lorenz Attractors (type=lorenz/lorenz3d)..............33
  43.       Rossler Attractors (type=rossler3D)...................34
  44.       Henon Attractors (type=henon).........................34
  45.       Pickover Attractors (type=pickover)...................35
  46.       Gingerbreadman (type=gingerbreadman)..................35
  47.       Test (type=test)......................................35
  48.       Formula (type=formula)................................36
  49.       Julibrots (type=julibrot).............................37
  50.       Diffusion Limited Aggregation (type=diffusion)........39
  51.       Magnetic Fractals (type=magnet1m/.../magnet2j)........39
  52.       L-Systems (type=lsystem)..............................41
  53.  
  54.   3. Doodads, Bells, and Whistles...........................43
  55.       Distance Estimator Method.............................43
  56.       Inversion.............................................43
  57.       Decomposition.........................................44
  58.  
  59.                      Fractint Version 15.0                      Page 2
  60.  
  61.       Logarithmic Palettes..................................45
  62.       Biomorphs.............................................45
  63.       Starfields............................................46
  64.  
  65.   4. "3D" Images............................................47
  66.       3D Mode Selection.....................................47
  67.       Select Fill Type Screen...............................49
  68.       Stereo 3D Viewing.....................................50
  69.       Rectangular Coordinate Transformation.................51
  70.       Color Parameters......................................52
  71.       Light Source Parameters...............................52
  72.       Spherical Projection..................................53
  73.       3D Overlay Mode.......................................54
  74.       Special Note for CGA or Hercules Users................54
  75.       Making Terrains.......................................55
  76.       Making 3D Slides......................................56
  77.  
  78.   5. Command-Line Parameters, Setting Defaults, Batch Mode..58
  79.       General Parameters....................................58
  80.       Video Parameters......................................63
  81.       Printer Parameters....................................65
  82.       3D Parameters.........................................66
  83.       Setting Defaults (SSTOOLS.INI)........................67
  84.       Batch Mode............................................68
  85.  
  86.   6. File Formats, Color Maps and All That..................70
  87.       Fractint and .GIF Files...............................70
  88.       Continuous Potential..................................71
  89.       Palette Maps..........................................73
  90.  
  91.   7. Hardware Support.......................................74
  92.       Notes on Video Modes, "Standard" and Otherwise........74
  93.       FRACTINT.CFG (Customized Video Mode List).............77
  94.  
  95.   8. Common Problems........................................79
  96.  
  97.   9. Fractals and the PC....................................81
  98.       A Little History......................................81
  99.        Before Mandelbrot ...................................81
  100.        Who Is This Guy, Anyway? ............................82
  101.       A Little Code.........................................83
  102.        Periodicity Logic ...................................83
  103.        Limitations of Integer Math (And How We Cope) .......84
  104.        The Fractint "Fractal Engine" Architecture ..........85
  105.  
  106.   Appendix A  Mathematics of the Fractal Types..............87
  107.   Appendix B  Stone Soup With Pixels: The Authors...........92
  108.   Appendix C  Revision History..............................97
  109.   Appendix D  Bibliography.................................103
  110.   Appendix E  Other Programs...............................104
  111.   Appendix F  Version13 to Version 14 Type Mapping.........105
  112.  
  113.                      Fractint Version 15.0                      Page 3
  114.  
  115.  New Features in Version 15.0
  116.  
  117.   New user interface! Enjoy!
  118.   Some key assignments have changed and some have been removed.  If you're
  119.   familiar with a prior version of Fractint, a quick exploration of the
  120.   new main menu will show what is different.
  121.  
  122.   New palette editing from Ethan Nagel.
  123.  
  124.   Reduced memory requirements - Fractint now uses overlays and will run on
  125.   a 512K machine. The bad news is that the executable can no longer be
  126.   compressed with LZEXE, and has bloated up to almost 400K!
  127.  
  128.   New <v>iew command: use to get small window for fast preview, or to
  129.   setup an image which will eventually be rendered on hard copy with
  130.   different aspect ratio
  131.  
  132.   L-System fractal type from Adrian Mariano
  133.  
  134.   Postscript printer support from Scott Taylor
  135.  
  136.   Better Tandy video support and faster CGA video from Joseph A Albrecht
  137.  
  138.   16 bit continuous potential files have changed considerably;  see the
  139.   Continuous Potential section for details.  Continuous potential is now
  140.   resumable.
  141.  
  142.   Mandelbrot calculation is faster again (thanks to Mike Gelvin) - double
  143.   speed in 8086 32 bit case
  144.  
  145.   Compressed log palette and sqrt palette from Chuck Ebbert
  146.  
  147.   Calculation automatically resumes whenever current image is resumable
  148.   and is not paused for a visible reason.
  149.  
  150.   Auto increment of savename changed to be more predictable
  151.  
  152.   New video modes:
  153.     trident 1024x768x256 mode
  154.     320x480x256 tweak mode (good for reduced 640x480 viewing)
  155.     changed NEC GB-1, hopefully it works now
  156.  
  157.   Integer mandelbrot and julia now work with periodicitycheck
  158.  
  159.   Initial zoombox color auto-picked for better contrast (usually)
  160.  
  161.   New adapter=cga|ega|mcga|vga for systems having trouble with auto-detect
  162.  
  163.   New textsafe=no|yes for systems having trouble with garbled text mode
  164.  
  165.   <r> and <3> commands now present list of video modes to pick from; <r>
  166.   can reduce a non-standard or unviewable image size.
  167.  
  168.   Diffusion fractal type is now resumable after interrupt/save
  169.  
  170.                      Fractint Version 15.0                      Page 4
  171.  
  172.   Exitmode=n parameter, sets video mode to n when exiting from fractint
  173.  
  174.   When savetime is used with 1 and 2 pass and solid guessing, saves are
  175.   deferred till the beginning of a new row, so that no calculation time is
  176.   lost.
  177.  
  178.   3d photographer's mode now allows the first image to be saved to disk
  179.  
  180.   textcolors=mono|12/34/56/... -- allows setting user interface colors
  181.  
  182.   Code (again!) compilable under TC++ (we think!)
  183.  
  184.   bug fixes:
  185.  
  186.     multiple restores (msc 6.0, fixed in 14.0r)
  187.  
  188.     repeating 3d loads problem; slow 3d loads of images with float=yes
  189.  
  190.     map= is now a real substitute for default colors
  191.  
  192.     starfield and julibrot no longer cause permanent color map replacement
  193.  
  194.     starfield parameters bug fix - if you couldn't get the starfield
  195.     parameters to do anything interesting before, try again with this
  196.     release
  197.  
  198.     Newton and newtbasin orbit display fixed
  199.  
  200.   .TIW files (from v9.3) are no longer supported as input to 3D
  201.   transformations
  202.  
  203.                      Fractint Version 15.0                      Page 5
  204.  
  205.  Introduction
  206.  
  207.   FRACTINT plots and manipulates images of "objects" -- actually, sets of
  208.   mathematical points -- that have fractal dimension. See chapter 9 for
  209.   some historical and mathematical background on fractal geometry, a
  210.   discipline named and popularized by mathematician Benoit Mandelbrot. For
  211.   now, these sets of points have three important properties:
  212.  
  213.   1) They are generated by relatively simple calculations repeated over
  214.   and over, feeding the results of each step back into the next --
  215.   something computers can do very rapidly.
  216.  
  217.   2) They are, quite literally, infinitely complex: they reveal more and
  218.   more detail without limit as you plot smaller and smaller areas.
  219.   Fractint lets you "zoom in" by positioning a small box and hitting
  220.   <Enter> to redraw the boxed area at full-screen size; its maximum linear
  221.   "magnification" is over a trillionfold.
  222.  
  223.   3) They can be astonishingly beautiful, especially using PC color
  224.   displays' ability to assign colors to selected points, and (with VGA
  225.   displays or EGA in 640x350x16 mode) to "animate" the images by quickly
  226.   shifting those color assignments.
  227.  
  228.   The name FRACTINT was chosen because the program generates many of its
  229.   images using INTeger math, rather than the floating point calculations
  230.   used by most such programs. That means that you don't need a math co-
  231.   processor chip (aka floating point unit or FPU), although for a few
  232.   fractal types where floating point math is faster, the program
  233.   recognizes and automatically uses an 80x87 chip if it's present. It's
  234.   even faster on systems using Intel's 80386 and 80486 microprocessors,
  235.   where the integer math can be executed in their native 32-bit mode.
  236.  
  237.   Fractint works with many adapters and graphics modes from CGA to the
  238.   1024x768, 256-color 8514/A mode. Even "larger" images, up to
  239.   2048x2048x256, can be plotted to expanded memory, extended memory, or
  240.   disk: this bypasses the screen and allows you to create images with
  241.   higher resolution than your current display can handle, and to run in
  242.   "background" under multi-tasking control programs such as DESQview and
  243.   Windows 3.
  244.  
  245.   Fractint is an experiment in collaboration. Many volunteers have joined
  246.   Bert Tyler, the program's first author, in improving successive
  247.   versions. Through electronic mail messages, first on CompuServe's PICS
  248.   forum and now on COMART, new versions are hacked out and debugged a
  249.   little at a time. Fractint was born fast, and none of us has seen any
  250.   other fractal plotter close to the present version for speed,
  251.   versatility, and all-around wonderfulness. (If you have, tell us so we
  252.   can steal somebody else's ideas instead of each other's.) See Appendix B
  253.   for information about the authors and how to contribute your own ideas
  254.   and code.
  255.  
  256.                      Fractint Version 15.0                      Page 6
  257.  
  258.   Fractint is freeware. The copyright is retained by the Stone Soup Group.
  259.  
  260.   Conditions on use: Fractint may be freely copied and distributed but may
  261.   not be sold. It may be used personally or in a business - if you can do
  262.   your job better by using Fractint, or use images from it, that's great!
  263.   It may be given away with commercial products under the following
  264.   conditions:
  265.    o It must be clearly stated that Fractint does not belong to the
  266.      vendor and is included as a free give-away.
  267.    o It must be a complete unmodified release of Fractint, with
  268.      documentation, unless other arrangements are made with the Stone
  269.      Soup Group
  270.  
  271.   There is no warranty of Fractint's suitability for any purpose, nor any
  272.   acceptance of liability, express or implied.
  273.  
  274.   Source code for Fractint is also freely available. See the FRACTSRC.DOC
  275.   file included with it for conditions on use. (In most cases we just want
  276.   credit.)
  277.  
  278.   **********************************************************************
  279.   * Contribution policy: Don't want money. Got money. Want admiration. *
  280.   **********************************************************************
  281.  
  282.                      Fractint Version 15.0                      Page 7
  283.  
  284.  1. Fractint Commands
  285.  
  286.   To start the program, enter FRACTINT at the DOS prompt. The program
  287.   displays an initial "credits" screen. Hitting <ENTER> gets you to the
  288.   main menu. You can either select options from the menu by moving the
  289.   highlight with the cursor, or you can enter commands directly.
  290.  
  291.   As soon as you select a video mode, the program begins drawing an
  292.   initial display -- the "full" Mandelbrot set, if you haven't selected
  293.   another fractal type.
  294.  
  295.   Help is available at any time by pressing the <F1> key.
  296.  
  297.   AT ANY TIME, you can hit one of the keys described in the following
  298.   sections to select a function. You do not need to wait for a calculation
  299.   to finish, nor do you have to return to the main menu.
  300.  
  301.   Note that for the "typewriter" keys, upper and lower case are
  302.   equivalent, e.g. <B> and <b>, have the same result.
  303.  
  304.   Many commands and parameters can be passed to FRACTINT.EXE as command-
  305.   line arguments or read from a configuration file; see Chapter 5 for
  306.   details.
  307.  
  308.  
  309.  Plotting Commands
  310.  
  311.   Function keys & various combinations are used to select a video mode and
  312.   redraw the screen.  For a quick start, try one of the following:
  313.     If you have MCGA, VGA, or better:  <F3>
  314.     If you have EGA:                   <F9>
  315.     If you have CGA:                   <F5>
  316.     Otherwise, monochrome:             <F6>
  317.   When you choose "select video mode" from the main menu, you will see a
  318.   list of possible video modes.
  319.  
  320.   <F1>
  321.   Display a help screen.  The function keys available in help mode are
  322.   displayed at the bottom of the help screen.
  323.  
  324.   <M> or <Esc>
  325.   Return from a displayed image to the main menu.
  326.  
  327.   <Esc>
  328.   From the main menu, <Esc> is used to exit from Fractint.
  329.  
  330.   <Page Up>
  331.   Display and shrink the zoom box ("zoom in"). The LEFT button of a mouse
  332.   displays the box; push the mouse away from you while holding that button
  333.   down to shrink the box.
  334.  
  335.   <Page Down>
  336.   Display and expand the zoom box ("zoom out"). Pulling the mouse towards
  337.   you with the left button down has the same effect.
  338.  
  339.                      Fractint Version 15.0                      Page 8
  340.  
  341.   Cursor ("arrow") keys
  342.   Move ("pan") the zoom box. Moving the mouse has the same effect. With an
  343.   enhanced-keyboard BIOS, <Ctrl> plus a cursor key moves the box 5 times
  344.   faster.
  345.  
  346.   <Enter> ("Return")
  347.   Redraw the area inside the zoom box as a full-screen image. Or double
  348.   click the left mouse button.  If there's no zoom box on the screen, and
  349.   the current image is incomplete (e.g. if you interrupted it to adjust
  350.   the colors)
  351.   Enter is also used to resume calculation after a pause. It is only
  352.   necessary to do this when there is a message on the screen waiting to be
  353.   acknowledged, such as the message shown after you save an image to disk.
  354.  
  355.   <Ctrl><Enter>
  356.   "Zoom out," so that your screen would fill the current zoom box, and
  357.   redraw.  Or double click the right mouse button.
  358.  
  359.   <\> (previously <HOME>)
  360.   Redraw the previous image. The program tracks 25 sets of pervious
  361.   coordinates and fractal types, but does not remember other options which
  362.   were different for those past images.
  363.  
  364.   <Tab>
  365.   Display the current fractal type, parameters, screen or (if displayed)
  366.   zoom-box coordinates, maximum iteration count, and other information
  367.   useful in keeping track of where you are.  The Tab function is non-
  368.   destructive - if you press it while in the midst of generating an image,
  369.   you will continue generating it when you return.  The Tab function tells
  370.   you if your image is still being generated or has finished - a handy
  371.   feature for those overnight, 1024x768 resolution fractal images.  If the
  372.   image is incomplete, it also tells you whether it can be interrupted and
  373.   resumed.  (Any function other than <Tab> and <F1> counts as an
  374.   "interrupt".)
  375.  
  376.   <T>
  377.   Select a fractal type. Move the cursor to your choice and hit <Enter>.
  378.   Next you will be prompted for any parameters used by the selected type -
  379.   hit Enter to use the defaults. Note that any values you change on this
  380.   parameter screen are remembered for the next time you select the same
  381.   type.
  382.  
  383.   <X>
  384.   Select a number of eXtended options. Brings up a full-screen menu of
  385.   options, any of which you can change at will.  These options are:
  386.     Image generation algorithm ("passes=" option)
  387.     Floating point algorithm toggle
  388.     "maxiter=" iteration maximum
  389.     "inside=" and "outside=" colors
  390.     "logmap=" logarithmic palette value
  391.     "biomorph=" option
  392.     "decomp=" decomposition value
  393.     "sound=" option
  394.     "overwrite=" option
  395.     "distest=" value
  396.  
  397.                      Fractint Version 15.0                      Page 9
  398.  
  399.     "savename=" filename
  400.   The "passes option" (which used to be selected by <1>, <2>, or <G>)
  401.   selects single-pass, dual-pass, or solid-guessing (default) mode, then
  402.   redraws the screen. Single-pass mode draws the screen pixel by pixel.
  403.   Dual-pass generates a "coarse" screen first as a preview using 2x2-pixel
  404.   boxes, and then generates the rest of the dots with a second pass.
  405.   Solid-guessing performs from two to four visible passes - more passes in
  406.   higher resolution video modes. Its first visible pass is actually two
  407.   passes - one pixel per 4x4, 8x8, or 16x16 pixel box (depending on number
  408.   of passes) is generated, and the guessing logic is applied to fill in
  409.   the blocks at the next level (2x2, 4x4, or 8x8). Subsequent passes fill
  410.   in the display at the next finer resolution, skipping blocks which are
  411.   surrounded by the same color. Solid-guessing can guess wrong, but it
  412.   sure guesses quickly! Note: these options, along with the Boundary-
  413.   Tracing alternative, can now also be selected using the "X" options
  414.   screen.  Boundary Tracing, which only works with fractal types (such as
  415.   the Mandelbrot set, but not the Newton type) that do not contain
  416.   "islands" of colors, finds a color "boundary", traces it around the
  417.   screen, and then "blits" in the color over the enclosed area.
  418.   Floating point is discussed below, under the <F> key.
  419.   The other extended options are detailed elsewhere in the manual.
  420.  
  421.   <Y>
  422.   More options which we couldn't fit under the <X> command. Finite
  423.   attractor option, continuous potential parameters, and inversion
  424.   options. These options are discussed elsewhere in the manual.
  425.  
  426.   <Spacebar>
  427.   Toggle between Mandelbrot set images and their corresponding Julia-set
  428.   images. Read the notes in chapter 2 before trying this option if you
  429.   want to see anything interesting.
  430.  
  431.   <B>
  432.   Create a batch file, FRABATCH.BAT, that will start Fractint with the
  433.   command-line arguments needed to draw the current image. If FRABATCH.BAT
  434.   already exists, a new line is appended to it.
  435.  
  436.   <F>
  437.   Toggles the use of floating-point algorithms. Whether floating point is
  438.   in use is shown on the <Tab> status screen.  The floating point option
  439.   can also be turned on and off using the "X" options screen.
  440.  
  441.   <I>
  442.   Call up an editor that modifies, saves and restores various parameters.
  443.   Currently you can change the coefficients used in plotting the Barnsley
  444.   IFS fractal types or the 3D transformations used with the "Lorenz3D" and
  445.   "IFS3D" fractal types, including the selection of "funny glasses"
  446.   red/blue 3D.
  447.  
  448.   <O> (the letter, not the number)
  449.   If pressed while an image is being generated, toggle the display of
  450.   intermediate results -- the "orbits" Fractint uses as it calculates
  451.   values for each point. Slows the display a bit, but shows you how clever
  452.   the program is being behind the scenes. (See "A Little Code" in chapter
  453.   9.)
  454.  
  455.                      Fractint Version 15.0                     Page 10
  456.  
  457.  
  458.   <Insert>
  459.   Restart at the "credits" screen and reset most variables to their
  460.   initial state.  Variables which are not reset are: savename, lightname,
  461.   ifs parms, video, startup filename.
  462.  
  463.   <D>
  464.   Shell to DOS. Return to Fractint by entering "exit" at a DOS prompt.
  465.  
  466.  
  467.  Color Cycling Commands
  468.  
  469.   The color-cycling commands are available ONLY for VGA adapters and EGA
  470.   adapters in 640x350x16 mode.
  471.  
  472.   Note that the palette colors available on an EGA adapter (16 colors at a
  473.   time out of a palette of 64) are limited compared to those of VGA,
  474.   super-VGA, and MCGA (16 or 256 colors at a time out of a palette of
  475.   262,144). So color-cycling in general looks a LOT better in the latter
  476.   modes. Also, because of the EGA palette restrictions, some commands are
  477.   not available with EGA adapters.
  478.  
  479.   <+> or <->
  480.   Switch to color-cycling mode and begin cycling the palette by shifting
  481.   each color to the next "contour."
  482.  
  483.   <C>
  484.   Switch to color-cycling mode but do not start cycling. The normally
  485.   black "overscan" border of the screen changes to white.
  486.  
  487.   When you are in color-cycling mode, you will either see the screen
  488.   colors cycling, or will see a white "overscan" border when paused, as a
  489.   reminder that you are still in this mode.  The keyboard commands
  490.   available once you've entered color-cycling. are described below.
  491.  
  492.   <F1>
  493.   Bring up a HELP screen with commands specific to color cycling mode.
  494.  
  495.   <Esc>
  496.   Leave color-cycling mode.
  497.  
  498.   <+> or cursor->, <-> or cursor<-
  499.   Reverse the cycling direction "out" or "in."
  500.  
  501.   Cursor up/down
  502.   Increase/decrease the cycling speed. High speeds may cause a harmless
  503.   flicker at the top of the screen.
  504.  
  505.   <F2> through <F10>
  506.   Switches from simple rotation to color selection using randomly
  507.   generated color bands of short (F2) to long (F10) duration.
  508.  
  509.   <1> through <9>
  510.   Causes the screen to be updated every 'n' color cycles (the default is
  511.   1). Handy for slower computers.
  512.  
  513.                      Fractint Version 15.0                     Page 11
  514.  
  515.  
  516.   <Enter>
  517.   Randomly selects a function key (F2 through F10) and then updates ALL
  518.   the screen colors prior to displaying them for instant, random colors.
  519.   Hit this over and over again (we do).
  520.  
  521.   <Spacebar>
  522.   Pause cycling with white overscan area. Cycling restarts with any
  523.   command key (including another spacebar).
  524.  
  525.   <Shift><F1>-<F10>
  526.   Pause cycling and reset the palette to a preset two color "straight"
  527.   assignment, such as a spread from black to white. (Not for EGA)
  528.  
  529.   <Ctrl><F1>-<F10>
  530.   Pause and use a two-color cyclical assignment, e.g. red->yellow->red
  531.   (not for EGA).
  532.  
  533.   <Alt><F1>-<F10>
  534.   Pause and use a 3-color cyclical assignment, e.g. green->white->blue
  535.   (not for EGA).
  536.  
  537.   <R>, <G>, <B>
  538.   Pause and increase the red, green, or blue component of all colors by a
  539.   small amount (not for EGA). Note the case distinction of this vs:
  540.  
  541.   <r>, <g>, <b>
  542.   Pause and decrease the red, green, or blue component of all colors by a
  543.   small amount (not for EGA).
  544.  
  545.   <D> or <A>
  546.   Pause and load an external color map from the files DEFAULT.MAP or
  547.   ALTERN.MAP, supplied with the program.
  548.  
  549.   <L>
  550.   Pause and load an external color map (.MAP file).  Several .MAP files
  551.   are supplied with Fractint. (See chapter 6 for details on creating your
  552.   own map files manually, or save customized palettes in .MAP files using
  553.   the <S> command in color-cycling or palette-editing mode.)
  554.  
  555.   <S>
  556.   Pause, prompt for a filename, and save the current palette to the named
  557.   file (.MAP assumed).
  558.  
  559.  
  560.  Palette Editing Commands
  561.  
  562.   Palette-editing mode provides a number of tools for modifying the colors
  563.   in an image.  It can be used only with 256 color images.
  564.  
  565.   Use the <E> key to enter palette-editing mode from a displayed image or
  566.   from the main menu.
  567.  
  568.   When this mode is entered, an empty palette frame is displayed. You can
  569.   use the cursor keys to position the frame outline, and <Pageup> and
  570.  
  571.                      Fractint Version 15.0                     Page 12
  572.  
  573.   <Pagedn> to change its size.  (The upper and lower limits on the size
  574.   depend on the current video mode.)  When the frame is positioned where
  575.   you want it, hit Enter to display the current palette in the frame.
  576.  
  577.   Note that the palette frame shows R(ed) G(reen) and B(lue) values for
  578.   two color registers at the top.  The active color register has a solid
  579.   frame, the inactive register's frame is dotted.  Within the active
  580.   register, the active color component is framed.
  581.  
  582.   Using the commands described below, you can assign particular colors to
  583.   the registers and manipulate them.  Note that color zero (top left)
  584.   cannot be edited.  Color 255 (bottom right) is also special - it can
  585.   only be edited by rotating the palette to move it to another slot, then
  586.   editing that slot and rotating the palette back again.
  587.  
  588.   Once the palette frame is displayed and filled in, the following
  589.   commands are available:
  590.  
  591.   <F1>
  592.   Bring up a HELP screen with commands specific to palette-editing mode.
  593.  
  594.   <Esc>
  595.   Leave palette-editing mode
  596.  
  597.   <H>
  598.   Hide the palette frame to see full image; the cross-hair remains visible
  599.   and all functions remain enabled; hit <H> again to restore the palette
  600.   display.
  601.  
  602.   Cursor keys
  603.   Move the cross-hair cursor around. In 'auto' mode (the default) the
  604.   color under the center of the cross-hair is automatically assigned to
  605.   the active color register. Control-Cursor keys move the cross-hair
  606.   faster. A mouse can also be used to move around.
  607.  
  608.   <R> <G> <B>
  609.   Select the Red, Green, or Blue component of the active color register
  610.   for subsequent commands
  611.  
  612.   <Insert> <Delete>
  613.   Select previous or next color component in active register
  614.  
  615.   <+> <->
  616.   Increase or decrease the active color component value by 1  Numeric
  617.   keypad (gray) + and - keys do the same.
  618.  
  619.   <Pageup> <Pagedn>
  620.   Increase or decrease the active color component value by 5; Moving the
  621.   mouse up/down with left button held is the same
  622.  
  623.   <0> <1> <2> <3> <4> <5>
  624.   Set the active color component's value to 0 10 20 ... 60
  625.  
  626.   <Space>
  627.   Select the other color register as the active one.  In the default
  628.  
  629.                      Fractint Version 15.0                     Page 13
  630.  
  631.   'auto' mode this results in the now-inactive register being set to
  632.   remember the color under the cursor, and the now-active register
  633.   changing from whatever it had previously remembered to now follow the
  634.   color.
  635.  
  636.   <,> <.>
  637.   Rotate the palette one step.  The rotation matches the color-cycling
  638.   mode rotation method - only colors 1 through 255 inclusive are involved.
  639.  
  640.   "<" ">"
  641.   Rotate the palette continuously (until next keystroke)
  642.  
  643.   <C>
  644.   Enter Color-Cycling Mode.  When you invoke color-cycling from here, it
  645.   will subsequently return to palette-editing when you <Esc> from it.
  646.  
  647.   <=>
  648.   Create a smoothly shaded range of colors between the colors selected by
  649.   the two color registers.
  650.  
  651.   <D>
  652.   Duplicate the inactive color register's values to the active color
  653.   register.
  654.  
  655.   <T>
  656.   Stripe-shade - create a smoothly shaded range of colors between the two
  657.   color registers, setting only every Nth register.  After hitting <T>,
  658.   hit a numeric key from 2 to 9 to specify N.  For example, if you press
  659.   <T> <3>, smooth shading is done between the two color registers,
  660.   affecting only every 3rd color between them.  The other colors between
  661.   them remain unchanged.
  662.  
  663.   <Shift-F2> ... <Shift-F9>
  664.   Store the current palette in a temporary save area associated with the
  665.   function key.  The temporary save palettes are useful for quickly
  666.   comparing different palettes or the effect of some changes - see next
  667.   command.  The temporary palettes are only remembered until you exit from
  668.   palette-editing mode.
  669.  
  670.   <F2> ... <F9>
  671.   Restore the palette from a temporary save area.  If you haven't
  672.   previously saved a palette for the function key, you'll get a simple
  673.   grey scale.
  674.  
  675.   <\>
  676.   Move or resize the palette frame.  The frame outline is drawn - it can
  677.   then be repositioned and sized with the cursor keys, <Pageup> and
  678.   <Pagedn>, just as was done when first entering palette-editing mode.
  679.   Hit Enter when done moving/sizing
  680.  
  681.   <I>
  682.   Invert frame colors.  With some colors the palette is easier to see when
  683.   the frame colors are interchanged.
  684.  
  685.                      Fractint Version 15.0                     Page 14
  686.  
  687.   <L>
  688.   Pause and load an external color map (.MAP file).
  689.  
  690.   <S>
  691.   Pause, prompt for a filename, and save the current palette to the named
  692.   file (.MAP assumed).
  693.  
  694.   <A>
  695.   Toggle 'auto' mode on or off.  When on (the default), the active color
  696.   register follows the cursor; when off, <Enter> must be pressed to set
  697.   the active register to the color under the cursor.
  698.  
  699.   <Enter>
  700.   Only useful when 'auto' is off, as described above; double clicking the
  701.   left mouse button is the same as Enter
  702.  
  703.   <X>
  704.   Toggle 'exclude' mode on or off - when toggled on, only those image
  705.   pixels which match the active color are displayed.
  706.  
  707.   <Y>
  708.   Toggle 'exclude' range on or off - similar to <X>, but all pixels
  709.   matching colors in the range of the two color registers are displayed.
  710.  
  711.  
  712.  Save/Restore/Print Commands
  713.  
  714.   <S>
  715.   Save the screen contents to disk. Progress is marked by colored lines
  716.   moving down the screen's edges. The default filename is FRACT001.GIF;
  717.   multiple saves in a session are automatically incremented 002, 003...
  718.   Use the "savename=" parameter or <X> options screen to change the name.
  719.   By default, files left over from previous sessions are not overwritten -
  720.   the first unused FRACTnnn name is used.  Use the "overwrite=yes"
  721.   parameter or <X> options screen) to overwrite existing files.  A save
  722.   operation can be interrupted by pressing any key. If you interrupt,
  723.   you'll be asked whether to keep or discard the partial file.
  724.  
  725.   <R>
  726.   Restore an image previously saved with <S>, or an ordinary GIF file.
  727.   After pressing <R> you are shown the file names in the current directory
  728.   which match the current file mask. To select a file to restore, move the
  729.   cursor to it and press <Enter>.
  730.  
  731.   Directories are shown in the file list with a "\" at the end of the
  732.   name. When you select a directory, the contents of that directory are
  733.   shown. Or, you can type the name of a different directory (and
  734.   optionally a different drive) and press <Enter> for a new display. You
  735.   can also type a mask such as "*.XYZ" and press <Enter> to display files
  736.   whose name ends with the matching suffix (XYZ).
  737.  
  738.   Once you have selected a file to restore, a summary description of the
  739.   file is shown, with a video mode selection list. Usually you can just
  740.   press <Enter> to go past this screen and load the image. Other choices
  741.   available at this point are:
  742.  
  743.                      Fractint Version 15.0                     Page 15
  744.  
  745.     Cursor keys: select a different video mode
  746.     <Tab>: display more information about the fractal
  747.     <F1>: for help about the "err" column in displayed video modes
  748.   If you restore a file into a video mode which does not have the same
  749.   pixel dimensions as the file, Fractint will make some adjustments:  The
  750.   view window parameters (see <V> command) will automatically be set to an
  751.   appropriate size, and if the image is larger than the screen dimensions,
  752.   it will be reduced by using only every Nth pixel during the restore.
  753.  
  754.   <P>
  755.   Print the current fractal image on your (Laserjet, Paintjet, Epson-
  756.   compatible, or PostScript) printer. See chapter 5 for how to let
  757.   Fractint know about your printer setup. "Disk video" modes can be used
  758.   to generate images for printing at higher resolutions than your screen
  759.   supports.
  760.  
  761.  
  762.  "3D" Commands
  763.  
  764.   <3>
  765.   Restore a saved image as a 3D "landscape", translating its color
  766.   information into "height". You will be prompted for all KINDS of
  767.   options;  see the "3D Images" chapter for details.
  768.  
  769.   <O>
  770.   Restore in 3D and overlay the result on the current screen. (This only
  771.   works when there's a completed image on screen, so it can't be confused
  772.   with the <O>-for-orbits toggle that ONLY operates WHILE a fractal is
  773.   being generated.)
  774.  
  775.  
  776.  Interrupting and Resuming
  777.  
  778.   Fractint command keys can be loosely grouped as:
  779.  
  780.    o Keys which suspend calculation of the current image (if one is being
  781.      calculated) and automatically resume after the function.  <Tab>
  782.      (display status information) and <F1> (display help), are the only
  783.      keys in this group.
  784.  
  785.    o Keys which automatically trigger calculation of a new image.
  786.      Examples:  selecting a video mode (e.g. <F3>);  selecting a fractal
  787.      type using <T>;  using the <X> screen to change an option such as
  788.      maximum iterations.
  789.  
  790.    o Keys which do something, then wait for you to indicate what to do
  791.      next.  Examples:  <M> to go to main menu;  <C> to enter color
  792.      cycling mode;  <PageUp> to bring up a zoom box.  After using a
  793.      command in this group, calculation automatically resumes when you
  794.      return from the function (e.g. <Esc> from color cycling, <PageDn> to
  795.      clear zoom box).  There are a few fractal types which cannot resume
  796.      calculation, they are noted below.  Note that after saving an image
  797.      with <S>, you must press <Enter> to clear the "saved" message from
  798.      the screen and resume.
  799.  
  800.                      Fractint Version 15.0                     Page 16
  801.  
  802.   An image which is <S>aved before it completes can later be <R>estored
  803.   and continued. The calculation is automatically resumed when you restore
  804.   such an image.
  805.  
  806.   When a slow fractal type resumes after an interruption in the third
  807.   category above, there may be a lag while nothing visible happens.  This
  808.   is because most cases of resume restart at the beginning of a screen
  809.   line.  If unsure, you can check whether calculation has resumed with the
  810.   <Tab> key.
  811.  
  812.   The following fractal types cannot (currently) be resumed: plasma, 3d
  813.   transformations, julibrot, and 3d orbital types like lorenz3d.  To check
  814.   whether resuming an image is possible, use the <Tab> key while it is
  815.   calculating.  It is resumable unless there is a note under the fractal
  816.   type saying it is not.
  817.  
  818.   The "Batch Mode" section discusses how to resume in batch mode.
  819.  
  820.   To <R>estore and resume a "formula" type fractal (described later) your
  821.   "formulafile" must contain the required formula.
  822.  
  823.  
  824.  View Window
  825.  
  826.   The <V> command is used to set the view window parameters described
  827.   below. These parameters can be used to:
  828.    o Define a small window on the screen which is to contain the
  829.      generated images. Using a small window speeds up calculation time
  830.      (there are less pixels to generate). You can use a small window to
  831.      explore quickly, then turn the view window off to recalculate the
  832.      image at full screen size.
  833.    o Generate an image with a different "aspect ratio"; e.g. in a square
  834.      window or in a tall skinny rectangle.
  835.    o View saved GIF images which have pixel dimensions different from any
  836.      mode supported by your hardware. This use of view windows occurs
  837.      automatically when you restore such an image.
  838.  
  839.   Note that there are currently no command-line parameters for view
  840.   windows - they can only be set interactively.
  841.  
  842.   "Preview display"
  843.   Set this to "yes" to turn on view window, "no" for full screen display.
  844.   While this is "no", the only view parameter which has any affect is
  845.   "final media aspect ratio". When a view window is being used, all other
  846.   Fractint functions continue to operate normally - you can zoom, color-
  847.   cycle, and all the rest.
  848.  
  849.   "Reduction factor"
  850.   When an explicit size is not given, this determines the view window
  851.   size, as a factor of the screen size.  E.g. a reduction factor of 2
  852.   makes the window 1/2 as big as the screen in both dimensions.
  853.  
  854.   "Final media aspect ratio"
  855.   This is the height of the final image you want, divided by the width.
  856.   The default is 0.75 because standard PC monitors have a height:width
  857.  
  858.                      Fractint Version 15.0                     Page 17
  859.  
  860.   ratio of 3:4. E.g. set this to 2.0 for an image twice as high as it is
  861.   wide. The effect of this parameter is visible only when "preview
  862.   display" is enabled.
  863.  
  864.   "Crop starting coordinates"
  865.   This parameter affects what happens when you change the aspect ratio. If
  866.   set to "no", then when you change aspect ratio, the prior image will be
  867.   squeezed or stretched to fit into the new shape. If set to "yes", the
  868.   prior image is "cropped" to avoid squeezing or stretching.
  869.  
  870.   "Explicit size"
  871.   Setting these to non-zero values over-rides the "reduction factor" with
  872.   explicit sizes in pixels. If only the "x pixels" size is specified, the
  873.   "y pixels" size is calculated automatically based on x and the aspect
  874.   ratio.
  875.  
  876.   More about final aspect ratio:  If you want to produce a high quality
  877.   hard-copy image which is say 8" high by 5" down, based on a vertical
  878.   "slice" of an existing image, you could use a procedure like the
  879.   following. You'll need some method of converting a GIF image to your
  880.   final media (slide or whatever) - Fractint can only do the whole job
  881.   with a PostScript printer, it does not preserve aspect ratio with other
  882.   printers.
  883.    o restore the existing image
  884.    o set view parameters: preview to yes, reduction to anything (say 2),
  885.      aspect ratio to 1.6, and crop to yes
  886.    o zoom, rotate, whatever, till you get the desired final image
  887.    o set preview display back to no
  888.    o trigger final calculation in some high res disk video mode, using
  889.      the appropriate video mode function key
  890.    o print directly to a PostScript printer, or save the result as a GIF
  891.      file and use external utilities to convert to hard copy.
  892.  
  893.  
  894.  More Zoom Box Commands
  895.  
  896.   In addition to resizing the zoom box and moving it around, you can do
  897.   some rather warped things with it. The general approach is always the
  898.   same:  Frame an area, then <Enter> to expand what's in the frame to fill
  899.   the whole screen (zoom in); or <Ctrl><Enter> to shrink the current image
  900.   into the framed area (zoom out). With a mouse, double-click the left
  901.   button to zoom in, double click the right button to zoom out.
  902.  
  903.   <Page Up>, <Page Down>
  904.   Use <Page Up> to initially bring up the zoom box. It starts at full
  905.   screen size. Subsequent use of these keys makes the zoom box smaller or
  906.   larger. Using <Page Down> to enlarge the zoom box when it is already at
  907.   maximum size removes the zoom box from the display. Moving the mouse
  908.   away from you or toward you while holding the left button down performs
  909.   the same functions as these keys.
  910.  
  911.   The cursor "arrow" keys, holding <Ctrl> with the "arrow" keys, and
  912.   moving the mouse without holding any buttons down, moves the zoom box.
  913.  
  914.                      Fractint Version 15.0                     Page 18
  915.  
  916.   Panning: If you move a fullsize zoombox and don't change anything else
  917.   before performing the zoom, Fractint just moves what's already on the
  918.   screen and then fills in the new edges, to reduce drawing time. This
  919.   feature applies to most fractal types but not all.  A side effect is
  920.   that while an image is incomplete, a full size zoom box moves in steps
  921.   larger than one pixel.  Fractint keeps the box on multiple pixel
  922.   boundaries, to make panning possible.  As a multi-pass (e.g. solid
  923.   guessing) image approaches completion, the zoom box can move in smaller
  924.   increments.
  925.  
  926.   <Ctrl><Keypad->, <Ctrl><Keypad+>
  927.   Holding <Ctrl> and pressing the numeric keypad's + or - keys rotates the
  928.   zoom box. Moving the mouse left or right while holding the right button
  929.   down performs the same function.
  930.  
  931.   <Ctrl><Page Up>, <Ctrl><Page Down>
  932.   These commands change the zoom box's "aspect ratio", stretching or
  933.   shrinking it vertically. Moving the mouse away from you or toward you
  934.   while holding both buttons (or the middle button on a 3-button mouse)
  935.   down performs the same function. There are no commands to directly
  936.   stretch or shrink the zoom box horizontally - the same effect can be
  937.   achieved by combining vertical stretching and resizing.
  938.  
  939.   <Ctrl><Home>, <Ctrl><End>
  940.   These commands "skew" the zoom box, moving the top and bottom edges in
  941.   opposite directions. Moving the mouse left or right while holding both
  942.   buttons (or the middle button on a 3-button mouse) down performs the
  943.   same function. There are no commands to directly skew the left and right
  944.   edges - the same effect can be achieved by using these functions
  945.   combined with rotation.
  946.  
  947.   <Ctrl><Insert>, <Ctrl><Delete>
  948.   These commands change the zoom box color. This is useful when you're
  949.   having trouble seeing the zoom box against the colors around it. Moving
  950.   the mouse away from you or toward you while holding the right button
  951.   down performs the same function.
  952.  
  953.   You may find it difficult to figure out what combination of size,
  954.   position, rotation, stretch, and skew to use to get a particular result.
  955.   (We do.) A good way to get a feel for all these functions is to play
  956.   with the Gingerbreadman fractal type. Gingerbreadman's shape makes it
  957.   easy to see what you're doing to him. A warning though: Gingerbreadman
  958.   will run forever, he's never quite done! So, pre-empt with your next
  959.   zoom when he's baked enough.
  960.  
  961.   If you accidentally change the shape of your zoom box, or rotate and
  962.   forget which way is up, just use <Page Down> to make it bigger until it
  963.   is removed from the display, then <Page Up> to get a fresh one. With the
  964.   mouse, after removing the old zoom box from the display, release and re-
  965.   press the left button to get a fresh one.
  966.  
  967.   If your screen does not have a 4:3 "aspect ratio" (i.e. if the visible
  968.   display area on it is not 1.333 times as wide as it is high), rotating
  969.   and zooming will have some odd effects - angles will change, including
  970.   the zoom box's shape itself, circles (if you are so lucky as to see any
  971.  
  972.                      Fractint Version 15.0                     Page 19
  973.  
  974.   with a non-standard aspect ratio) become non-circular, and so on. The
  975.   vast majority of PC screens *do* have a 4:3 aspect ratio.
  976.  
  977.   Zooming is not implemented for the plasma and diffusion fractal types,
  978.   nor for <O>verlayed and <3>d images. A few fractal types support zooming
  979.   but do not support rotation and skewing - nothing happens when you try
  980.   it.
  981.  
  982.  
  983.  Hints
  984.  
  985.   Remember, you do NOT have to wait for the program to finish a full
  986.   screen display before entering a command. If you see an interesting spot
  987.   you want to zoom in on while the screen is half-done, don't wait -- do
  988.   it! If you think after seeing the first few lines that another video
  989.   mode would look better, go ahead -- Fractint will shift modes and start
  990.   the re-draw at once. When it finishes a display, it beeps and waits for
  991.   your next command.
  992.  
  993.   In general, the most interesting areas are the "border" areas where the
  994.   colors are changing rapidly. Zoom in on them for the best results. The
  995.   first Mandelbrot-set (default) fractal image has a large, solid-colored
  996.   interior that is the slowest to display; there's nothing to be seen by
  997.   zooming there.
  998.  
  999.   Plotting time is directly proportional to the number of pixels in a
  1000.   screen, and hence increases with the resolution of the video mode. After
  1001.   you get used to the first "zoom levels," you may want to start in a low-
  1002.   resolution mode for quick progress, and switch to a higher-resolution
  1003.   mode when things get interesting. Or use the <G>uessing mode and pre-
  1004.   empt with a zoom before it finishes. Plotting time also varies with the
  1005.   maximum iteration setting, the fractal type, and your choice of drawing
  1006.   mode. Solid-guessing (the default) is fastest, but it can be wrong:
  1007.   perfectionists will want to use dual-pass mode (its first-pass preview
  1008.   is handy if you might zoom pre-emptively) or single-pass mode.
  1009.  
  1010.   When you start systematically exploring, you can save time (and hey,
  1011.   every little bit helps -- these "objects" are INFINITE, remember!) by
  1012.   <S>aving your last screen in a session to a file, and then going
  1013.   straight to it the next time with FRACTINT FRACTxxx (the .GIF extension
  1014.   is assumed). Or you could simply hit <B> to create a batch file with the
  1015.   "recipe" for a given image, and next time start with FRABATCH to re-plot
  1016.   it. See chapter 6 for more on batch mode and the command-line arguments
  1017.   the <B> command writes.
  1018.  
  1019.                      Fractint Version 15.0                     Page 20
  1020.  
  1021.  2. Fractal Types
  1022.  
  1023.  
  1024.   This section is intended only as a quick introduction to the types; more
  1025.   detail on the mathematics of types other than the Mandelbrot set can be
  1026.   found in Appendix A, and some notes on how Fractint calculates them in
  1027.   chapter 9.
  1028.  
  1029.   Fractint starts by default with the Mandelbrot set. You can change that
  1030.   by firing it up with the command-line argument "TYPE=" followed by one
  1031.   of the names in parentheses below, or within the program by hitting <T>
  1032.   and typing in the name. If parameters are needed, you will be prompted
  1033.   for them.
  1034.  
  1035.   In the text that follows, due to the limitations of the ASCII character
  1036.   set, "a*b" means "a times b", and "a^b" means "a to the power b".
  1037.  
  1038.  
  1039.  The Mandelbrot Set (type=mandel)
  1040.  
  1041.   This set is the classic: the only one implemented in many plotting
  1042.   programs, and the source of most of the printed fractal images published
  1043.   in recent years. Like most of the other types in Fractint, it is simply
  1044.   a graph: the x (horizontal) and y (vertical) coordinate axes represent
  1045.   ranges of two independent quantities, with various colors used to
  1046.   symbolize levels of a third quantity which depends on the first two. So
  1047.   far, so good: basic analytic geometry.
  1048.  
  1049.   Now things get a bit hairier. The x axis is ordinary, vanilla real
  1050.   numbers. The y axis is an imaginary number, i.e. a real number times i,
  1051.   where i is the square root of -1. Every point on the plane -- in this
  1052.   case, your PC's display screen -- represents a complex number of the
  1053.   form:
  1054.  
  1055.   x-coordinate + i * y-coordinate
  1056.  
  1057.   If your math training stopped before you got to imaginary and complex
  1058.   numbers, this is not the place to catch up. Suffice it to say that they
  1059.   are just as "real" as the numbers you count fingers with (they're used
  1060.   every day by electrical engineers) and they can undergo the same kinds
  1061.   of algebraic operations.
  1062.  
  1063.   OK, now pick any complex number -- any point on the complex plane -- and
  1064.   call it C, a constant. Pick another, this time one which can vary, and
  1065.   call it Z. Starting with Z=0 (i.e., at the origin, where the real and
  1066.   imaginary axes cross), calculate the value of the expression
  1067.  
  1068.   Z^2 + C
  1069.  
  1070.   Take the result, make it the new value of the variable Z, and calculate
  1071.   again. Take that result, make it Z, and do it again, and so on: in
  1072.   mathematical terms, iterate the function Z(n+1) = Z(n)^2 + C. For
  1073.   certain values of C, the result "levels off" after a while. For all
  1074.   others, it grows without limit. The Mandelbrot set you see at the start
  1075.   -- the solid-colored lake (blue by default), the blue circles sprouting
  1076.  
  1077.                      Fractint Version 15.0                     Page 21
  1078.  
  1079.   from it, and indeed every point of that color -- is the set of all
  1080.   points C for which the value of Z is less than 2 after 150 iterations
  1081.   (default setting). All the surrounding "contours" of other colors
  1082.   represent points for which Z exceeds 2 after 149 iterations (the contour
  1083.   closest to the M-set itself), 148 iterations, (the next one out), and so
  1084.   on.
  1085.  
  1086.   Some features of interest:
  1087.  
  1088.   1. Use the <X> options screen to increase the number of iterations.
  1089.   Notice that the boundary of the M-set becomes more and more convoluted
  1090.   (the technical terms are "wiggly," "squiggly," and "utterly bizarre") as
  1091.   the Z-values for points that were still within the set after 150
  1092.   iterations turn out to exceed 2 after 200, 500, or 1200. In fact, it can
  1093.   be proven that the true boundary is infinitely long: detail without
  1094.   limit.
  1095.  
  1096.   2. Although there appear to be isolated "islands" of blue, zoom in --
  1097.   that is, plot for a smaller range of coordinates to show more detail --
  1098.   and you'll see that there are fine "causeways" of blue connecting them
  1099.   to the main set. As you zoomed, smaller islands became visible; the same
  1100.   is true for them. In fact, there are no isolated points in the M-set: it
  1101.   is "connected" in a strict mathematical sense.
  1102.  
  1103.   3. The upper and lower halves of the first image are symmetric (a fact
  1104.   that Fractint makes use of here and in some other fractal types to speed
  1105.   plotting). But notice that the same general features -- lobed discs,
  1106.   spirals, starbursts -- tend to repeat themselves (although never
  1107.   exactly) at smaller and smaller scales, so that it can be impossible to
  1108.   judge by eye the scale of a given image.
  1109.  
  1110.   4. In a sense, the contour colors are window-dressing: mathematically,
  1111.   it is the properties of the M-set itself that are interesting, and no
  1112.   information about it would be lost if all points outside the set were
  1113.   assigned the same color. If you're a serious, no-nonsense type, you may
  1114.   want to cycle the colors just once to see the kind of silliness that
  1115.   other people enjoy, and then never do it again. Go ahead. Just once,
  1116.   now. We trust you.
  1117.  
  1118.  
  1119.  Julia Sets (type=julia)
  1120.  
  1121.   These sets were named for mathematician Gaston Julia, and can be
  1122.   generated by a simple change in the iteration process described above.
  1123.   Start with a specified value of C, "C-real + i * C-imaginary"; use as
  1124.   the initial value of Z "x-coordinate + i * y-coordinate"; and repeat the
  1125.   same iteration, Z(n+1) = Z(n)^2 + C.
  1126.  
  1127.   There is a Julia set corresponding to every point on the complex plane -
  1128.   - an infinite number of Julia sets. But the most visually interesting
  1129.   tend to be found for the same C values where the M-set image is busiest,
  1130.   i.e. points just outside the boundary. Go too far inside, and the
  1131.   corresponding Julia set is a circle; go too far outside, and it breaks
  1132.   up into scattered points. In fact, all Julia sets for C within the M-set
  1133.  
  1134.                      Fractint Version 15.0                     Page 22
  1135.  
  1136.   share the "connected" property of the M-set, and all those for C outside
  1137.   lack it.
  1138.  
  1139.   Fractint's spacebar toggle lets you "flip" between any view of the M-set
  1140.   and the Julia set for the point C at the center of that screen. You can
  1141.   then toggle back, or zoom your way into the Julia set for a while and
  1142.   then return to the M-set. So if the infinite complexity of the M-set
  1143.   palls, remember: each of its infinite points opens up a whole new Julia
  1144.   set.
  1145.  
  1146.   Historically, the Julia sets came first: it was while looking at the M-
  1147.   set as an "index" of all the Julia sets' origins that Mandelbrot noticed
  1148.   its properties.
  1149.  
  1150.   The relationship between the Mandelbrot set and Julia set can hold
  1151.   between other sets as well.  Many of Fractint's types are
  1152.   "Mandelbrot/Julia" pairs (sometimes called "M-sets" or "J-sets". All
  1153.   these are generated by equations that are of the form z(k+1) =
  1154.   f(z(k),c), where the function orbit is the sequence z(0), z(1), ..., and
  1155.   the variable c is a complex parameter of the equation. The value c is
  1156.   fixed for "Julia" sets and is equal to the first two parameters entered
  1157.   with the "params=Creal/Cimag" command. The initial orbit value z(0) is
  1158.   the complex number corresponding to the screen pixel. For Mandelbrot
  1159.   sets, the parameter c is the complex number corresponding to the screen
  1160.   pixel. The value z(0) is c plus a perturbation equal to the values of
  1161.   the first two parameters.  See discussion of "type=mandellambda".  This
  1162.   approach may or may not be the "standard" way to create "Mandelbrot"
  1163.   sets out of "Julia" sets.
  1164.  
  1165.   Some equations have additional parameters.  These values is entered as
  1166.   the third for fourth params= value for both Julia and Mandelbrot sets.
  1167.   The variables x and y refer to the real and imaginary parts of z;
  1168.   similarly, cx and cy are the real and imaginary parts of the parameter c
  1169.   and fx(z) and fy(z) are the real and imaginary parts of f(z). The
  1170.   variable c is sometimes called lambda for historical reasons.
  1171.  
  1172.   NOTE: if you use the "PARAMS=" argument to warp the M-set by starting
  1173.   with an initial value of Z other than 0, the M-set/J-sets correspondence
  1174.   breaks down and the spacebar toggle no longer works.
  1175.  
  1176.  
  1177.  Newton domains of attraction (type=newtbasin)
  1178.  
  1179.   The Newton formula is an algorithm used to find the roots of polynomial
  1180.   equations by successive "guesses" that converge on the correct value as
  1181.   you feed the results of each approximation back into the formula. It
  1182.   works very well -- unless you are unlucky enough to pick a value that is
  1183.   on a line BETWEEN two actual roots. In that case, the sequence explodes
  1184.   into chaos, with results that diverge more and more wildly as you
  1185.   continue the iteration.
  1186.  
  1187.   This fractal type shows the results for the polynomial Z^n - 1, which
  1188.   has n roots in the complex plane. Use the <T>ype command and enter
  1189.   "newtbasin" in response to the prompt. You will be asked for a
  1190.   parameter, the "order" of the equation (an integer from 3 through 10 --
  1191.  
  1192.                      Fractint Version 15.0                     Page 23
  1193.  
  1194.   3 for x^3-1, 7 for x^7-1, etc.). A second parameter is a flag to turn on
  1195.   alternating shades showing changes in the number of iterations needed to
  1196.   attract an orbit. Some people like stripes and some don't, as always,
  1197.   Fractint gives you a choice!
  1198.  
  1199.   The coloring of the plot shows the "basins of attraction" for each root
  1200.   of the polynomial -- i.e., an initial guess within any area of a given
  1201.   color would lead you to one of the roots. As you can see, things get a
  1202.   bit weird along certain radial lines or "spokes," those being the lines
  1203.   between actual roots. By "weird," we mean infinitely complex in the good
  1204.   old fractal sense. Zoom in and see for yourself.
  1205.  
  1206.   This fractal type is symmetric about the origin, with the number of
  1207.   "spokes" depending on the order you select. It uses floating-point math
  1208.   if you have an FPU, or a somewhat slower integer algorithm if you don't
  1209.   have one.
  1210.  
  1211.  
  1212.  Newton (type=newton)
  1213.  
  1214.   The generating formula here is identical to that for newtbasin, but the
  1215.   coloring scheme is different. Pixels are colored not according to the
  1216.   root that would be "converged on" if you started using Newton's formula
  1217.   from that point, but according to the iteration when the value is close
  1218.   to a root.  For example, if the calculations for a particular pixel
  1219.   converge to the 7th root on the 23rd iteration, NEWTBASIN will color
  1220.   that pixel using color #7, but NEWTON will color it using color #23.
  1221.  
  1222.   If you have a 256-color mode, use it: the effects can be much livelier
  1223.   than those you get with type=newtbasin, and color cycling becomes, like,
  1224.   downright cosmic. If your "corners" choice is symmetrical, Fractint
  1225.   exploits the symmetry for faster display. There is symmetry in
  1226.   newtbasin, too, but the current version of the software isn't smart
  1227.   enough to exploit it.
  1228.  
  1229.   The applicable "params=" values are the same as newtbasin. Try
  1230.   "params=4." Other values are 3 through 10. 8 has twice the symmetry and
  1231.   is faster. As with newtbasin, an FPU helps.
  1232.  
  1233.  
  1234.  Complex Newton (type=complexnewton/complexbasin)
  1235.  
  1236.   Well, hey, "Z^n - 1" is so boring when you can use "Z^a - b" where "a"
  1237.   and "b" are complex numbers!  The new "complexnewton" and "complexbasin"
  1238.   fractal types are just the old "newton" and "newtbasin" fractal types
  1239.   with this little added twist.  When you select these fractal types, you
  1240.   are prompted for four values (the real and imaginary portions of "a" and
  1241.   "b"). If "a" has a complex portion, the fractal has a discontinuity
  1242.   along the negative axis - relax, we finally figured out that it's
  1243.   *supposed* to be there!
  1244.  
  1245.                      Fractint Version 15.0                     Page 24
  1246.  
  1247.  Lambda Sets (type=lambda)
  1248.  
  1249.   This type calculates the Julia set of the formula lambda*Z*(1-Z). That
  1250.   is, the value Z[0] is initialized with the value corresponding to each
  1251.   pixel position, and the formula iterated. The pixel is colored according
  1252.   to the iteration when the sum of the squares of the real and imaginary
  1253.   parts exceeds 4.
  1254.  
  1255.   Two parameters, the real and imaginary parts of lambda, are required.
  1256.   Try 0 and 1 to see the classical fractal "dragon". Then try 0.2 and 1
  1257.   for a lot more detail to zoom in on.
  1258.  
  1259.   It turns out that all quadratic Julia-type sets can be calculated using
  1260.   just the formula z^2+c (the "classic" Julia"), so that this type is
  1261.   redundant, but we include it for reason of it's prominence in the
  1262.   history of fractals.
  1263.  
  1264.  
  1265.  Mandellambda Sets (type=mandellambda)
  1266.  
  1267.   This type is the "Mandelbrot equivalent" of the lambda set. A comment is
  1268.   in order here. Almost all the Fractint "Mandelbrot" sets are created
  1269.   from orbits generated using formulas like z(n+1) = f(z(n),C), with z(0)
  1270.   and C initialized to the complex value corresponding to the current
  1271.   pixel. Our reasoning was that "Mandelbrots" are maps of the
  1272.   corresponding "Julias". Using this scheme each pixel of a "Mandelbrot"
  1273.   is colored the same as the Julia set corresponding to that pixel.
  1274.   However, Kevin Allen informs us that the MANDELLAMBDA set appears in the
  1275.   literature with z(0) initialized to a critical point (a point where the
  1276.   derivative of the formula is zero), which in this case happens to be the
  1277.   point (.5,0). Since Kevin knows more about Dr. Mandelbrot than we do,
  1278.   and Dr. Mandelbrot knows more about fractals than we do, we defer!
  1279.   Starting with version 14 Fractint calculates MANDELAMBDA Dr.
  1280.   Mandelbrot's way instead of our way. But ALL THE OTHER "Mandelbrot" sets
  1281.   in Fractint are still calculated OUR way! (Fortunately for us, for the
  1282.   classic Mandelbrot Set these two methods are the same!)
  1283.  
  1284.   Well now, folks, apart from questions of faithfulness to fractals named
  1285.   in the literature (which we DO take seriously!), if a formula makes a
  1286.   beautiful fractal, it is not wrong. In fact some of the best fractals in
  1287.   Fractint are the results of mistakes! Nevertheless, thanks to Kevin for
  1288.   keeping us accurate!
  1289.  
  1290.   (See description of "initorbit=" command for a way to experiment with
  1291.   different orbit intializations).
  1292.  
  1293.  
  1294.  Plasma Clouds (type=plasma)
  1295.  
  1296.   Plasma clouds ARE real live fractals , even though we didn't know it at
  1297.   first. They are generated by a recursive algorithm that randomly picks
  1298.   colors of the corner of a rectangle, and then continues recursively
  1299.   quartering previous rectangles. Random colors are averaged with those of
  1300.   the outer rectangles so that small neighborhoods do not show much
  1301.   change, for a smoothed-out, cloud-like effect. The more colors your
  1302.  
  1303.                      Fractint Version 15.0                     Page 25
  1304.  
  1305.   video mode supports, the better.  The result, believe it or not, is a
  1306.   fractal landscape viewed as a contour map, with colors indicating
  1307.   constant elevation.  To see this, save and view with the "3" command
  1308.   (see  section on 3D), and your "cloud" will be converted to a mountain!
  1309.  
  1310.   You've GOT to try palette cycling on these (hit "+" or "-"). If you
  1311.   haven't been hypnotized by the drawing process, the writhing colors will
  1312.   do it for sure. We have now implemented subliminal messages to exploit
  1313.   the user's vulnerable state; their content varies with your bank
  1314.   balance, politics, gender, accessibility to a Fractint programmer, and
  1315.   so on. A free copy of Microsoft C to the first person who spots them.
  1316.  
  1317.   This type accepts a single parameter, which determines how abruptly the
  1318.   colors change. A value of .5 yields bland clouds, while 50 yields very
  1319.   grainy ones. The default value is 2. Zooming is ignored, as each plasma-
  1320.   cloud screen is generated randomly.
  1321.  
  1322.   The algorithm is based on the Pascal program distributed by Bret Mulvey
  1323.   as PLASMA.ARC. We have ported it to C and integrated it with Fractint's
  1324.   graphics and animation facilities. This implementation does not use
  1325.   floating-point math.
  1326.  
  1327.   Saved plasma-cloud screens are EXCELLENT starting images for fractal
  1328.   "landscapes" created with the "3D" options.
  1329.  
  1330.  
  1331.  Lambdafn (type=lambdafn)
  1332.  
  1333.   Function=[sin|cos|sinh|cosh|exp|log|sqr]) is specified with this type.
  1334.   Prior to version 14, these types were lambdasine, lambdacos, lambdasinh,
  1335.   lambdacos, and lambdaexp.  Where we say "lambdasine" or some such below,
  1336.   the good reader knows we mean "lambdafn with function=sin".)
  1337.  
  1338.   These types calculate the Julia set of the formula lambda*fn(Z), for
  1339.   various values of the function "fn", where lambda and Z are both
  1340.   complex.  Two values, the real and imaginary parts of lambda, should be
  1341.   given in the "params=" option.  For the feathery, nested spirals of
  1342.   LambdaSines and the frost-on-glass patterns of LambdaCosines, make the
  1343.   real part = 1, and try values for the imaginary part ranging from 0.1 to
  1344.   0.4 (hint: values near 0.4 have the best patterns). In these ranges the
  1345.   Julia set "explodes". For the tongues and blobs of LambdaExponents, try
  1346.   a real part of 0.379 and an imaginary part of 0.479.
  1347.  
  1348.   A co-processor used to be almost mandatory: each LambdaSine/Cosine
  1349.   iteration calculates a hyperbolic sine, hyperbolic cosine, a sine, and a
  1350.   cosine (the LambdaExponent iteration "only" requires an exponent, sine,
  1351.   and cosine operation)!  However, Fractint now computes these
  1352.   transcendental functions with fast integer math. In a few cases the fast
  1353.   math is less accurate, so we have kept the old slow floating point code.
  1354.   To use the old code, invoke with the float=yes option, and, if you DON'T
  1355.   have a co-processor, go on a LONG vacation!
  1356.  
  1357.                      Fractint Version 15.0                     Page 26
  1358.  
  1359.  Mandelfn (type=mandelfn)
  1360.  
  1361.   Function=[sin|cos|sinh|cosh|exp|log|sqr]) is specified with this type.
  1362.   Prior to version 14, these types were mandelsine, mandelcos, mandelsinh,
  1363.   mandelcos, and mandelexp. Same comment about our lapses into the old
  1364.   terminology as above!
  1365.  
  1366.   These are "pseudo-Mandelbrot" mappings for the LambdaFn Julia functions.
  1367.   They map to their corresponding Julia sets via the spacebar command in
  1368.   exactly the same fashion as the original M/J sets.  In general, they are
  1369.   interesting mainly because of that property (the function=exp set in
  1370.   particular is rather boring). Generate the appropriate "Mandelfn" set,
  1371.   zoom on a likely spot where the colors are changing rapidly, and hit the
  1372.   spacebar key to plot the Julia set for that particular point.
  1373.  
  1374.   Try "FRACTINT TYPE=MANDELFN CORNERS=4.68/4.76/-.03/.03 FUNCTION=COS" for
  1375.   a graphic demonstration that we're not taking Mandelbrot's name in vain
  1376.   here. We didn't even know these little buggers were here until Mark
  1377.   Peterson found this a few hours before the version incorporating
  1378.   Mandelfns was released.
  1379.  
  1380.   Note: If you created images using the lambda or mandel "fn" types prior
  1381.   to version 14, and you wish to update the fractal information in the
  1382.   "*.fra" file, simply read the files and save again. You can do this in
  1383.   batch mode via a command line like:
  1384.  
  1385.        "fractint oldfile.fra savename=newfile.gif batch=yes"
  1386.  
  1387.   For example, this procedure can convert a version 13 "type=lambdasine"
  1388.   image to a version 14 "type=lambdafn function=sin" GIF89a image.  We do
  1389.   not promise to keep this "backward compatibility" past version 14 - if
  1390.   you want to keep the fractal information in your *.fra files accurate,
  1391.   we recommend conversion.
  1392.  
  1393.  
  1394.  Barnsley Mandelbrot/Julia Sets (barnsleym1/.../j3)
  1395.  
  1396.   Michael Barnsley has written a fascinating college-level text, "Fractals
  1397.   Everywhere," on fractal geometry and its graphic applications. (See the
  1398.   bibliography, Appendix. D.) In it, he applies the principle of the M and
  1399.   J sets to more general functions of two complex variables.
  1400.  
  1401.   We have incorporated three of Barnsley's examples in Fractint. Their
  1402.   appearance suggests polarized-light microphotographs of minerals, with
  1403.   patterns that are less organic and more crystalline than those of the
  1404.   M/J sets. Each example has both a "Mandelbrot" and a "Julia" type.
  1405.   Toggle between them using the spacebar.
  1406.  
  1407.   The parameters have the same meaning as they do for the "regular"
  1408.   Mandelbrot and Julia. For types M1, M2, and M3, they are used to "warp"
  1409.   the image by setting the initial value of Z. For the types J1 through
  1410.   J3, they are the values of C in the generating formulas, found in
  1411.   Appendix A.
  1412.  
  1413.   Be sure to try the <O>rbit function while plotting these types.
  1414.  
  1415.                      Fractint Version 15.0                     Page 27
  1416.  
  1417.  
  1418.  
  1419.  Barnsley IFS Fractals (type=ifs, ifs3d)
  1420.  
  1421.   One of the most remarkable spin-offs of fractal geometry is the ability
  1422.   to "encode" realistic images in very small sets of numbers -- parameters
  1423.   for a set of functions that map a region of two-dimensional space onto
  1424.   itself. In principle (and increasingly in practice), a scene of any
  1425.   level of complexity and detail can be stored as a handful of numbers,
  1426.   achieving amazing "compression" ratios... how about a super-VGA image of
  1427.   a forest, more than 300,000 pixels at eight bits apiece, from a 1-KB
  1428.   "seed" file?
  1429.  
  1430.   Again, Michael Barnsley and his co-workers at the Georgia Institute of
  1431.   Technology are to be thanked for pushing the development of these
  1432.   iterated function systems (IFS).
  1433.  
  1434.   Invoking Fractint with "TYPE=ifs" defaults to an IFS "fern". Other IFS
  1435.   images can be created via the *.IFS files included with Fractint (FERN,
  1436.   TRIANGLE, TREE, and more), or from user-written files with the default
  1437.   extension *.IFS. Use the command-line argument "IFS=filename" or the
  1438.   main-menu <I> command to use or manipulate one of these files. Specify
  1439.   whether 2D or 3D (the files supplied with Fractint are almost all 2D).
  1440.   You will then be asked to pick which function to edit. Hitting <Enter>
  1441.   leaves values unchanged.
  1442.  
  1443.   Each line in an IFS code file contains the parameters for one of the
  1444.   generating functions, e.g. in FERN.IFS:
  1445.  
  1446.      a    b     c    d    e    f    p
  1447.    ___________________________________
  1448.      0     0    0  .16    0    0   .01
  1449.    .85   .04 -.04  .85    0  1.6   .85
  1450.    .2   -.26  .23  .22    0  1.6   .07
  1451.   -.15   .28  .26  .24    0  .44   .07
  1452.  
  1453.   The "p" values are the probabilities assigned to each function (how
  1454.   often it is used), which add up to one. Fractint supports up to 32
  1455.   functions, although usually three or four are enough.
  1456.  
  1457.   Note that some Barnsley IFS values generate images quite a bit smaller
  1458.   than the initial (default) screen. Just bring up the zoom box, center it
  1459.   on the small image, and hit the ENTER key to get a full-screen image.
  1460.  
  1461.   In order to fully appreciate the 3D fern, since your monitor is
  1462.   presumably 2D, we have added rotation, translation, and perspective
  1463.   capabilities. These share values with the same variables used in
  1464.   Fractint's other 3D facilities; for their meaning see "3D Images",
  1465.   farther on in this section. You can enter these values from the command
  1466.   line using:
  1467.  
  1468.   rotation=xrot/yrot/zrot       (try 30/30/30)
  1469.   shift=xshift/yshift           (shifts BEFORE applying perspective!)
  1470.   perspective=viewerposition    (try 200)
  1471.  
  1472.                      Fractint Version 15.0                     Page 28
  1473.  
  1474.   Alternatively, entering <I> from main screen and then selecting "3D
  1475.   Transform Parameters" will allow you to modify these values. The
  1476.   defaults are the same as for regular 3D, and are not always optimum for
  1477.   the 3D fern. Try rotation=30/30/30. Note that applying shift when using
  1478.   perspective changes the picture -- your "point of view" is moved.
  1479.  
  1480.   A truly wild variation of 3D may be seen by entering "2" for the stereo
  1481.   mode, putting on red/blue "funny glasses", and watching the fern develop
  1482.   with full depth perception right there before your eyes!
  1483.  
  1484.   This feature USED to be dedicated to Bruce Goren, as a bribe to get him
  1485.   to send us MORE knockout stereo slides of 3D ferns, now that we have
  1486.   made it so easy! Bruce, what have you done for us *LATELY* ?? (Just
  1487.   kidding, really!)
  1488.  
  1489.  
  1490.  Sierpinski Gasket (type=sierpinski)
  1491.  
  1492.   Another pre-Mandelbrot classic, this one found by W. Sierpinski around
  1493.   World War I. It is generated by dividing a triangle into four congruent
  1494.   smaller triangles, doing the same to each of them, and so on, yea, even
  1495.   unto infinity. (Notice how hard we try to avoid reiterating
  1496.   "iterating"?)
  1497.  
  1498.   If you think of the interior triangles as "holes", they occupy more and
  1499.   more of the total area, while the "solid" portion becomes as hopelessly
  1500.   fragile as that gasket you HAD to remove without damaging it -- you
  1501.   remember, that Sunday afternoon when all the parts stores were closed?
  1502.   There's a three-dimensional equivalent using nested tetrahedrons instead
  1503.   of triangles, but it generates too much pyramid power to be safely
  1504.   unleashed yet.
  1505.  
  1506.   There are no parameters for this type. We were able to implement it with
  1507.   integer math routines, so it runs fairly quickly even without an FPU.
  1508.  
  1509.  
  1510.  Quartic Mandelbrot/Julia (type=mandel4/julia4)
  1511.  
  1512.   These fractal types are the moral equivalent of the original M and J
  1513.   sets, except that they use the formula Z(n+1) = Z(n)^4 + C, which adds
  1514.   additional pseudo-symmetries to the plots. The "Mandel4" set maps to the
  1515.   "Julia4" set via -- surprise! -- the spacebar toggle. The M4 set is kind
  1516.   of boring at first (the area between the "inside" and the "outside" of
  1517.   the set is pretty thin, and it tends to take a few zooms to get to any
  1518.   interesting sections), but it looks nice once you get there. The Julia
  1519.   sets look nice right from the start.
  1520.  
  1521.   Other powers, like Z(n)^3 or Z(n)^7, work in exactly the same fashion.
  1522.   We used this one only because we're lazy, and Z(n)^4 = (Z(n)^2)^2.
  1523.  
  1524.                      Fractint Version 15.0                     Page 29
  1525.  
  1526.  Distance Estimator (distest=nnn)
  1527.  
  1528.   This used to be type=demm and type=demj.  These types have not died, but
  1529.   are only hiding!  They are equivalent to the mandel and julia types with
  1530.   the "distest=" option selected with a predetermined value.
  1531.  
  1532.   The "Distance Estimator Method" (described under "Doodads, Bells and
  1533.   Whistles") can be used to produce higher quality images of M and J sets,
  1534.   especially suitable for printing in black and white.
  1535.  
  1536.   If you have some *.fra files made with the old types demm/demj, you may
  1537.   want to convert them to the new form.  See "MANDELFN" section for
  1538.   directions to carry out the conversion.
  1539.  
  1540.  
  1541.  Pickover Mandelbrot/Julia Types
  1542.  
  1543.   (type=manfn+zsqrd/julfn+zsqrd, manzpowr/julzpowr, manzzpwr/julzzpwr,
  1544.   manfn+exp/julfn+exp - formerly included man/julsinzsqrd and
  1545.   man/julsinexp which have now been generalized)
  1546.  
  1547.   These types have been explored by Clifford A. Pickover, of the IBM
  1548.   Thomas J. Watson Research center. As implemented in Fractint, they are
  1549.   regular Mandelbrot/Julia set pairs that may be plotted with or without
  1550.   the "biomorph" option Pickover used to create organic-looking beasties
  1551.   (see below). These types are produced with formulas built from the
  1552.   functions z^z, z^n, sin(z), and e^z for complex z. Types with "power" or
  1553.   "pwr" in their name have an exponent value as a third parameter. For
  1554.   example, type=manzpower params=0/0/2 is our old friend the classical
  1555.   Mandelbrot, and type=manzpower params=0/0/4 is the Quartic Mandelbrot.
  1556.   Other values of the exponent give still other fractals.  Since these
  1557.   WERE the original "biomorph" types, we should give an example.  Try:
  1558.  
  1559.       FRACTINT type=manfn+sqrd biomorph=0 corners=-8/8/-6/6 function=sin
  1560.  
  1561.   to see a big biomorph digesting little biomorphs!
  1562.  
  1563.  
  1564.  Pickover Popcorn (type=popcorn/popcornjul)
  1565.  
  1566.   Here is another Pickover idea. This one computes and plots the orbits of
  1567.   the dynamic system defined by:
  1568.  
  1569.            x(n+1) = x(n) - h*sin(y(n)+tan(3*y(n))
  1570.            y(n+1) = y(n) - h*sin(x(n)+tan(3*x(n))
  1571.  
  1572.   with the initializers x(0) and y(0) equal to ALL the complex values
  1573.   within the "corners" values, and h=.01.  ALL these orbits are
  1574.   superimposed, resulting in "popcorn" effect.  You may want to use a
  1575.   maxiter value less than normal - Pickover recommends a value of 50.  As
  1576.   a bonus, type=popcornjul shows the Julia set generated by these same
  1577.   equations with the usual escape-time coloring. Turn on orbit viewing
  1578.   with the "O" command, and as you watch the orbit pattern you may get
  1579.   some insight as to where the popcorn comes from. Although you can zoom
  1580.   and rotate popcorn, the results may not be what you'd expect, due to the
  1581.  
  1582.                      Fractint Version 15.0                     Page 30
  1583.  
  1584.   superimposing of orbits and arbitrary use of color. Just for fun we
  1585.   added type popcornjul, which is the plain old Julia set calculated from
  1586.   the same formula.
  1587.  
  1588.  
  1589.  Peterson Variations (xxmarksxx types)
  1590.  
  1591.   (type=marksmandel, marksjulia, cmplxmarksmand, cmplxmarksjul)
  1592.  
  1593.   These fractal types are contributions of Mark Peterson. MarksMandel and
  1594.   MarksJulia are two families of fractal types that are linked in the same
  1595.   manner as the classic Mandelbrot/Julia sets: each MarksMandel set can be
  1596.   considered as a mapping into the MarksJulia sets, and is linked with the
  1597.   spacebar toggle. The basic equation for these sets is:
  1598.  
  1599.         Z(n+1) = ((lambda^n) * Z(n)^2) + lambda
  1600.  
  1601.   where Z(0) = 0.0 and lambda is (x + iy) for MarksMandel. For MarksJulia,
  1602.   Z(0) = (x + iy) and lambda is a constant (taken from the MarksMandel
  1603.   spacebar toggle, if that method is used). The exponent is a positive
  1604.   integer or a complex number. We call these "families" because each value
  1605.   of the exponent yields a different MarksMandel set, which turns out to
  1606.   be a kinda-polygon with (exponent+1) sides. The exponent value is the
  1607.   third parameter, after the "initialization warping" values. Typically
  1608.   one would use null warping values, and specify the exponent with
  1609.   something like "PARAMS=0/0/4", which creates an unwarped, pentagonal
  1610.   MarksMandel set.
  1611.  
  1612.  
  1613.  Unity (type=unity)
  1614.  
  1615.   This Peterson variation began with curiosity about other "Newton-style"
  1616.   approximation processes. A simple one,
  1617.  
  1618.      One = (x * x) + (y * y); y = (2 - One) * x;   x = (2 - One) * y;
  1619.  
  1620.   produces the fractal called Unity.
  1621.  
  1622.   One of its interesting features is the "ghost lines." The iteration loop
  1623.   bails out when it reaches the number 1 to within the resolution of a
  1624.   screen pixel. When you zoom a section of the image, the bailout
  1625.   criterion is adjusted, causing some lines to become thinner and others
  1626.   thicker.
  1627.  
  1628.   Only one line in Unity that forms a perfect circle: the one at a radius
  1629.   of 1 from the origin. This line is actually infinitely thin. Zooming on
  1630.   it reveals only a thinner line, up (down?) to the limit of accuracy for
  1631.   the algorithm. The same thing happens with other lines in the fractal,
  1632.   such as those around |x| = |y| = (1/2)^(1/2) = .7071
  1633.  
  1634.   Try some other tortuous approximations using the TEST stub (see below)
  1635.   and let us know what you come up with!
  1636.  
  1637.                      Fractint Version 15.0                     Page 31
  1638.  
  1639.  Scott Taylor / Lee Skinner Variations
  1640.  
  1641.   (type=fn(z*z), fn*fn, fn*z+z, fn+fn, sqr(1/fn), sqr(fn), spider,
  1642.   tetrate, manowar)
  1643.  
  1644.   Two of Fractint's faithful users went bonkers when we introduced the
  1645.   "formula" type, and came up with all kinds of variations on escape-time
  1646.   fractals using trig functions.  We decided to put them in as regular
  1647.   types, but there were just too many! So we defined the types with
  1648.   variable functions and let you, the, overwhelmed user, specify what the
  1649.   functions should be! Thus Scott Taylor's "z = sin(z) + z^2" formula type
  1650.   is now the "fn+fn" regular type, and EITHER function can be one of sin,
  1651.   cos, sinh, cosh, exp, log, or sqr. Plus we give you 4 parameters to set,
  1652.   the complex coefficients of the two functions!  Thus the innocent-
  1653.   looking "fn+fn" type is really at least 36 different types in disguise,
  1654.   not counting the damage done by the parameters!
  1655.  
  1656.   Lee informs us that you should not judge fractals by their "outer"
  1657.   appearance. For example, the images produced by z = sin(z) + z^2 and z =
  1658.   sin(z) - z^2 look very similar, but are different when you zoom in.
  1659.  
  1660.  
  1661.  Kam Torus (type=kamtorus, kamtorus3d)
  1662.  
  1663.   This type is created by superimposing orbits generated by a set of
  1664.   equations, with a variable incremented each time.
  1665.  
  1666.            x(0) = y(0) = orbit/3;
  1667.            x(n+1) = x(n)*cos(a) + (x(n)*x(n)-y(n))*sin(a)
  1668.            y(n+1) = x(n)*sin(a) - (x(n)*x(n)-y(n))*cos(a)
  1669.  
  1670.   After each orbit, 'orbit' is incremented by a step size. The parameters
  1671.   are angle "a", step size for incrementing 'orbit', stop value for
  1672.   'orbit', and points per orbit. Try this with a stop value of 5 with
  1673.   sound=x for some weird fractal music (ok, ok, fractal noise)! You will
  1674.   also see the KAM Torus head into some chaotic territory that Scott
  1675.   Taylor wanted to hide from you by setting the defaults the way he did,
  1676.   but now we have revealed all!
  1677.  
  1678.   The 3D variant is created by treating 'orbit' as the z coordinate.
  1679.  
  1680.  
  1681.  Bifurcation (type=bifxxx)
  1682.  
  1683.   The wonder of fractal geometry is that such complex forms can arise from
  1684.   such simple generating processes. A parallel surprise has emerged in the
  1685.   study of dynamical systems: that simple, deterministic equations can
  1686.   yield chaotic behavior, in which the system never settles down to a
  1687.   steady state or even a periodic loop. Often such systems behave normally
  1688.   up to a certain level of some controlling parameter, then go through a
  1689.   transition in which there are two possible solutions, then four, and
  1690.   finally a chaotic array of possibilities.
  1691.  
  1692.   This emerged many years ago in biological models of population growth.
  1693.   Consider a (highly over-simplified) model in which the rate of growth is
  1694.  
  1695.                      Fractint Version 15.0                     Page 32
  1696.  
  1697.   partly a function of the size of the current population:
  1698.  
  1699.   New Population =  Growth Rate * Old Population * (1 - Old Population)
  1700.  
  1701.   where population is normalized to be between 0 and 1. At growth rates
  1702.   less than 200 percent, this model is stable: for any starting value,
  1703.   after several generations the population settles down to a stable level.
  1704.   But for rates over 200 percent, the equation's curve splits or
  1705.   "bifurcates" into two discrete solutions, then four, and soon becomes
  1706.   chaotic.
  1707.  
  1708.   Type=bifurcation illustrates this model. (Although it's now considered a
  1709.   poor one for real populations, it helped get people thinking about
  1710.   chaotic systems.) The horizontal axis represents growth rates, from 190
  1711.   percent (far left) to 400 percent; the vertical axis normalized
  1712.   population values, from 0 to 4/3. Notice that within the chaotic region,
  1713.   there are narrow bands where there is a small, odd number of stable
  1714.   values. It turns out that the geometry of this branching is fractal;
  1715.   zoom in where changing pixel colors look suspicious, and see for
  1716.   yourself.
  1717.  
  1718.   The default display has been filtered by allowing the population to
  1719.   settle from its initial value for 5000 cycles before plotting maxiter
  1720.   population values. To override this filter value, specify a new
  1721.   (smaller) one as the first "PARAMS=" value. "PARAMS=1" produces an
  1722.   unfiltered map.
  1723.  
  1724.   Many formulae can be used to produce bifurcations.  Mitchel Feigenbaum
  1725.   studied lots of bifurcations in the mid-70's, using a HP-65 calculator
  1726.   (IBM PCs, Fractals, and Fractint, were all Sci-Fi then !). He studied
  1727.   where bifurcations occurred, for the formula r*p*(1-p), the one
  1728.   described above.  He found that the ratios of lengths of adjacent areas
  1729.   of bifurcation were four and a bit.  These ratios vary, but, as the
  1730.   growth rate increases, they tend to a limit of 4.669+.  This helped him
  1731.   guess where bifurcation points would be, and saved lots of time.
  1732.  
  1733.   When he studied bifurcations of r*sin(PI*p) he found a similar pattern,
  1734.   which is not surprising in itself.  However, 4.669+ popped out, again.
  1735.   Different formulae, same number ?  Now, THAT's surprising !  He tried
  1736.   many other formulae and ALWAYS got 4.669+ - Hot Damn !!!  So hot, in
  1737.   fact, that he phoned home and told his Mom it would make him Famous ! He
  1738.   also went on to tell other scientists.  The rest is History...
  1739.  
  1740.   (It has been conjectured that if Feigenbaum had a copy of Fractint, and
  1741.   used it to study bifurcations, he may never have found his Number, as it
  1742.   only became obvious from long perusal of hand-written lists of values,
  1743.   without the distraction of wild color-cycling effects !).
  1744.  
  1745.   We now know that this number is as universal as PI or E. It appears in
  1746.   situations ranging from fluid-flow turbulence, electronic oscillators,
  1747.   chemical reactions, and even the Mandelbrot Set - yup, fraid so:
  1748.   "budding" of the Mandelbrot Set along the negative real axis occurs at
  1749.   intervals determined by Feigenbaum's Number, 4.669201660910.....
  1750.  
  1751.                      Fractint Version 15.0                     Page 33
  1752.  
  1753.   Fractint does not make direct use of the Feigenbaum Number (YET !).
  1754.   However, it does now reflect the fact that there is a whole sub-species
  1755.   of Bifurcation-type fractals.  Those implemented to date, and the
  1756.   related formulae, (writing P for pop[n+1] and p for pop[n]) are :
  1757.  
  1758.     bifurcation   P =  p + r*p*(1-p)      Verhulst Bifurcations.
  1759.     biflambda     P =      r*p*(1-p)      Real equivalent of Lambda Sets.
  1760.     bif+sinpi     P =  p + r*sin(PI*p)    Population scenario based on...
  1761.     bif=sinpi     P =      r*sin(PI*p)    ...Feigenbaum's second formula.
  1762.  
  1763.   It took a while for bifurcations to appear here, despite them being over
  1764.   a century old, and intimately related to chaotic systems. However, they
  1765.   are now truly alive and well in Fractint!
  1766.  
  1767.  
  1768.  Lorenz Attractors (type=lorenz/lorenz3d)
  1769.  
  1770.   The "Lorenz Attractor" is a "simple" set of three deterministic
  1771.   equations developed by Edward Lorenz while studying the non-
  1772.   repeatability of weather patterns.  The weather forecaster's basic
  1773.   problem is that even very tiny changes in initial patterns ("the beating
  1774.   of a butterfly's wings" - the official term is "sensitive dependence on
  1775.   initial conditions") eventually reduces the best weather forecast to
  1776.   rubble.
  1777.  
  1778.   The lorenz attractor is the plot of the orbit of a dynamic system
  1779.   consisting of three first order non-linear differential equations. The
  1780.   solution to the differential equation is vector-valued function of one
  1781.   variable.  If you think of the variable as time, the solution traces an
  1782.   orbit.  The orbit is made up of two spirals at an angle to each other in
  1783.   three dimensions. We change the orbit color as time goes on to add a
  1784.   little dazzle to the image.  The equations are:
  1785.  
  1786.                   dx/dt = -a*x + a*y
  1787.                   dy/dt =  b*x - y   -z*x
  1788.                   dz/dt = -c*z + x*y
  1789.  
  1790.   We solve these differential equations approximately using a method known
  1791.   as the first order taylor series.  Calculus teachers everywhere will
  1792.   kill us for saying this, but you treat the notation for the derivative
  1793.   dx/dt as though it really is a fraction, with "dx" the small change in x
  1794.   that happens when the time changes "dt".  So multiply through the above
  1795.   equations by dt, and you will have the change in the orbit for a small
  1796.   time step. We add these changes to the old vector to get the new vector
  1797.   after one step. This gives us:
  1798.  
  1799.                xnew = x + (-a*x*dt) + (a*y*dt)
  1800.                ynew = y + (b*x*dt) - (y*dt) - (z*x*dt)
  1801.                znew = z + (-c*z*dt) + (x*y*dt)
  1802.  
  1803.                (default values: dt = .02, a = 5, b = 15, c = 1)
  1804.  
  1805.   We connect the successive points with a line, project the resulting 3D
  1806.   orbit onto the screen, and voila! The Lorenz Attractor!
  1807.  
  1808.                      Fractint Version 15.0                     Page 34
  1809.  
  1810.   We have added two versions of the Lorenz Attractor.  "Type=lorenz" is
  1811.   the Lorenz attractor as seen in everyday 2D.  "Type=lorenz3d" is the
  1812.   same set of equations with the added twist that the results are run
  1813.   through our perspective 3D routines, so that you get to view it from
  1814.   different angles (you can modify your perspective "on the fly" using the
  1815.   transformation option of the <E>ditor command.) If you set the "stereo"
  1816.   option to "2", and have red/blue funny glasses on, you will see the
  1817.   attractor orbit with depth perception.
  1818.  
  1819.   Hint: the default perspective values (x = 60, y = 30, z = 0) aren't the
  1820.   best ones to use for fun Lorenz Attractor viewing.  Experiment a bit -
  1821.   start with rotation values of 0/0/0 and then change to 20/0/0 and 40/0/0
  1822.   to see the attractor from different angles.- and while you're at it, use
  1823.   a non-zero perspective point Try 100 and see what happens when you get
  1824.   *inside* the Lorenz orbits.  Here comes one - Duck!  While you are at
  1825.   it, turn on the sound with the "X". This way you'll at least hear it
  1826.   coming!
  1827.  
  1828.   Different Lorenz attractors can be created using different parameters.
  1829.   Four parameters are used. The first is the time-step (dt). The default
  1830.   value is .02. A smaller value makes the plotting go slower; a larger
  1831.   value is faster but rougher. A line is drawn to connect successive orbit
  1832.   values.  The 2nd, third, and fourth parameters are coefficients used in
  1833.   the differential equation (a, b, and c). The default values are 5, 15,
  1834.   and 1.  Try changing these a little at a time to see the result.
  1835.  
  1836.  
  1837.  Rossler Attractors (type=rossler3D)
  1838.  
  1839.   This fractal is named after the German Otto Rossler, a non-practicing
  1840.   medical doctor who approached chaos with a bemusedly philosophical
  1841.   attitude.  He would see strange attractors as philosophical objects. His
  1842.   fractal namesake looks like a band of ribbon with a fold in it. All we
  1843.   can say is we used the same calculus-teacher-defeating trick of
  1844.   multiplying the equations by "dt" to solve the differential equation and
  1845.   generate the orbit.  This time we will skip straight to the orbit
  1846.   generator - if you followed what we did above with Lorenz you can easily
  1847.   reverse engineer the differential equations.
  1848.  
  1849.                xnew = x - y*dt -   z*dt
  1850.                ynew = y + x*dt + a*y*dt
  1851.                znew = z + b*dt + x*z*dt - c*z*dt
  1852.  
  1853.   Default parameters are dt = .04, a = .2, b = .2, c = 5.7
  1854.  
  1855.  
  1856.  Henon Attractors (type=henon)
  1857.  
  1858.   Michel Henon was an astronomer at Nice observatory in southern France.
  1859.   He came to the subject of fractals via investigations of the orbits of
  1860.   astronomical objects.  The strange attractor most often linked with
  1861.   Henon's name comes not from a differential equation, but from the world
  1862.   of discrete mathematics - difference equations. The Henon map is an
  1863.   example of a very simple dynamic system that exhibits strange behavior.
  1864.   The orbit traces out a characteristic banana shape, but on close
  1865.  
  1866.                      Fractint Version 15.0                     Page 35
  1867.  
  1868.   inspection, the shape is made up of thicker and thinner parts.  Upon
  1869.   magnification, the thicker bands resolve to still other thick and thin
  1870.   components.  And so it goes forever! The equations that generate this
  1871.   strange pattern perform the mathematical equivalent of repeated
  1872.   stretching and folding, over and over again.
  1873.  
  1874.                xnew =  1 + y - a*x*x
  1875.                ynew =  b*x
  1876.  
  1877.   The default parameters are a=1.4 and b=.3.
  1878.  
  1879.  
  1880.  Pickover Attractors (type=pickover)
  1881.  
  1882.   Clifford A. Pickover of the IBM Thomas J. Watson Research center is such
  1883.   a creative source for fractals that we attach his name to this one only
  1884.   with great trepidation.  Probably tomorrow he'll come up with another
  1885.   one and we'll be back to square one trying to figure out a name!
  1886.  
  1887.   This one is the three dimensional orbit defined by:
  1888.  
  1889.                xnew = sin(a*y) - z*cos(b*x)
  1890.                ynew = z*sin(c*x) - cos(d*y)
  1891.                znew = sin(x)
  1892.  
  1893.   Default parameters are: a = 2.24, b = .43, c = -.65, d = -2.43
  1894.  
  1895.  
  1896.  Gingerbreadman (type=gingerbreadman)
  1897.  
  1898.   This simple fractal is a charming example stolen from "Science of
  1899.   Fractal Images", p. 149.  Look closely, and you will see that the
  1900.   gingerbreadman contains infinitely many copies of himself at all
  1901.   different scales.
  1902.  
  1903.                xnew = 1 - y + |x|
  1904.                ynew = x
  1905.  
  1906.   There are no parameters.
  1907.  
  1908.  
  1909.  Test (type=test)
  1910.  
  1911.   This is a stub that we (and you!) use for trying out new fractal types.
  1912.   "Type=test" fractals make use of Fractint's structure and features for
  1913.   whatever code is in the routine 'testpt()' (located in the small source
  1914.   file TESTPT.C) to determine the color of a particular pixel.
  1915.  
  1916.   If you have a favorite fractal type that you believe would fit nicely
  1917.   into Fractint, just rewrite the C function in TESTPT.C (or use the
  1918.   prototype function there, which is a simple M-set implementation) with
  1919.   an algorithm that computes a color based on a point in the complex
  1920.   plane.
  1921.  
  1922.                      Fractint Version 15.0                     Page 36
  1923.  
  1924.   After you get it working, send your code to one of the authors and we
  1925.   might just add it to the next release of Fractint, with full credit to
  1926.   you. Our criteria are: 1) an interesting image and 2) a formula
  1927.   significantly different from types already supported. (Bribery may also
  1928.   work. THIS author is completely honest, but I don't trust those other
  1929.   guys.) Be sure to include an explanation of your algorithm and the
  1930.   parameters supported, preferably formatted as you see here to simplify
  1931.   folding it into the documentation.
  1932.  
  1933.  
  1934.  Formula (type=formula)
  1935.  
  1936.   Fractint now has a new 'type=formula' fractal type.  This is a "roll-
  1937.   your-own" fractal interpreter - you don't even need a compiler!
  1938.  
  1939.   To run a "type=formula" fractal, you first need a text file containing
  1940.   formulas (there's a sample file - FRACTINT.FRM - included with this
  1941.   distribution).  When you select the "formula" fractal type, you are
  1942.   prompted first for the name of your file.  Then, after the program
  1943.   locates the file and scans it for formulas, you are prompted for the
  1944.   formula name you wish to run.  After prompting for any parameters, the
  1945.   formula is parsed for syntax errors and then the fractal is generated.
  1946.  
  1947.   There are also two command-line options that work with type=formula
  1948.   ("formulafile=" and "formulaname=") if you are using this new fractal
  1949.   type in batch mode.
  1950.  
  1951.   The following documentation is supplied by Mark Peterson, who wrote the
  1952.   formula interpreter:
  1953.  
  1954.   Formula fractals allow you to create your own fractal formulas.  The
  1955.   general format is:
  1956.  
  1957.      Mandelbrot(XAXIS) { z = Pixel:  z = sqr(z) + pixel, |z| <= 4 }
  1958.         |         |          |                |              |
  1959.        Name     Symmetry    Initial         Iteration       Bailout
  1960.                             Condition                       Criteria
  1961.  
  1962.   Initial conditions are set, then the iterations performed until the
  1963.   bailout criteria is true or 'z' turns into a periodic loop.
  1964.  
  1965.   All variables are created automatically by their usage and treated as
  1966.   complex.  If you declare 'v = 2' then the variable 'v' is treated as a
  1967.   complex with an imaginary value of zero.
  1968.  
  1969.             Predefined Variables (x, y)
  1970.             --------------------------------------------
  1971.             z              used for periodicity checking
  1972.             p1             parameters 1 and 2
  1973.             p2             parameters 3 and 4
  1974.             pixel          screen coordinates
  1975.  
  1976.             Precedence
  1977.             --------------------------------------------
  1978.             1              sin(), cos(), sinh(), cosh(), sqr(),
  1979.  
  1980.                      Fractint Version 15.0                     Page 37
  1981.  
  1982.                            log(), exp(), abs(), conj(), real(),
  1983.                            imag()
  1984.             2              - (negation), ^ (power)
  1985.             3              * (multiplication), / (division)
  1986.             4              + (addition), - (subtraction)
  1987.             5              = (assignment)
  1988.             6              < (less than), <= (less than or equal to)
  1989.  
  1990.   Precedence may be overridden by use of parenthesis.  Note the modulus
  1991.   squared operator |z| is also parenthetic and always sets the imaginary
  1992.   component to zero.  This means 'c * |z - 4|' first subtracts 4 from z,
  1993.   calculates the modulus squared then multiplies times 'c'.  Nested
  1994.   modulus squared operators require overriding parenthesis:
  1995.  
  1996.             c * |z + (|pixel|)|
  1997.  
  1998.   The formulas are performed using either integer or floating point
  1999.   mathematics depending on the type of math you have setup.  If you do not
  2000.   have an FPU then type MPC math is performed in lieu of traditional
  2001.   floating point.
  2002.  
  2003.   Remember that when using integer math there is a limited dynamic range,
  2004.   so what you think may be a fractal could really be just a limitation of
  2005.   the integer math range.  God may work with integers, but His dynamic
  2006.   range is many orders of magnitude greater than our puny 32 bit
  2007.   mathematics!  Always verify with the floating point.
  2008.  
  2009.  
  2010.  Julibrots (type=julibrot)
  2011.  
  2012.   The following documentation is supplied by Mark Peterson, who "invented"
  2013.   the Julibrot algorithm.
  2014.  
  2015.   There is a very close relationship between the Mandelbrot set and Julia
  2016.   sets of the same equation.  To draw a Julia set you take the basic
  2017.   equation and vary the initial value according to the two dimensions of
  2018.   screen leaving the constant untouched.  This method diagrams two
  2019.   dimensions of the equation, 'x' and 'iy', which I refer to as the Julia
  2020.   x and y.
  2021.  
  2022.        z(0) = screen coordinate (x + iy)
  2023.        z(1) = (z(0) * z(0)) + c, where c = (a + ib)
  2024.        z(2) = (z(1) * z(0)) + c
  2025.        z(3) = . . . .
  2026.  
  2027.   The Mandelbrot set is a composite of all the Julia sets.  If you take
  2028.   the center pixel of each Julia set and plot it on the screen coordinate
  2029.   corresponding to the value of c, a + ib, then you have the Mandelbrot
  2030.   set.
  2031.  
  2032.        z(0) = 0
  2033.        z(1) = (z(0) * z(0)) + c, where c = screen coordinate (a + ib)
  2034.        z(2) = (z(1) * z(1)) + c
  2035.        z(3) = . . . .
  2036.  
  2037.                      Fractint Version 15.0                     Page 38
  2038.  
  2039.   I refer to the 'a' and 'ib' components of 'c' as the Mandelbrot 'x' and
  2040.   'y'.
  2041.  
  2042.   All the 2 dimensional Julia sets correspond to a single point on the 2
  2043.   dimensional Mandelbrot set, making a total of 4 dimensions associated
  2044.   with our equation.  Visualizing 4 dimensional objects is not as
  2045.   difficult as it may sound at first if you consider we live in a 4
  2046.   dimensional world.  The room around you is three dimensions and as you
  2047.   read this text you are moving through the fourth dimension of time. You
  2048.   and everything around your are 4 dimensional objects - which is to say 3
  2049.   dimensional objects moving through time.  We can think of the 4
  2050.   dimensions of our equation in the same manner, this is as a 3
  2051.   dimensional object evolving over time - sort of a 3 dimensional fractal
  2052.   movie.  The fun part of it is you get to pick the dimension representing
  2053.   time!
  2054.  
  2055.   To construct the 4 dimensional object into something you can view on the
  2056.   computer screen you start with the simple 2 dimensions of the Julia set.
  2057.   I'll treat the two Julia dimensions as the spatial dimensions of height
  2058.   and width, and the Mandelbrot 'y' dimension as the third spatial
  2059.   dimension of depth.  This leaves the Mandelbrot 'x' dimension as time.
  2060.   Draw the Julia set associated with the Mandelbrot coordinate (-.83, -
  2061.   .25), but instead of setting the color according to the iteration level
  2062.   it bailed out on, make it a two color drawing where the pixels are black
  2063.   for iteration levels less than 30, and another color for iteration
  2064.   levels greater than or equal to 30.  Now increment the Mandelbrot 'y'
  2065.   coordinate by a little bit, say (-.83, -.2485), and draw another Julia
  2066.   set in the same manner using a different color for bailout values of 30
  2067.   or greater.  Continue doing this until you reach (-.83, .25).  You now
  2068.   have a three dimensional representation of the equation at time -.83.
  2069.   If you make the same drawings for points in time before and after -.83
  2070.   you can construct a 3 dimensional movie of the equation which
  2071.   essentially is a full 4 dimensional representation.
  2072.  
  2073.   In the Julibrot fractal available with this release of Fractint the
  2074.   spatial dimensions of height and width are always the Julia dimensions.
  2075.   The dimension of depth is determined by the Mandelbrot coordinates.  The
  2076.   program will consider the dimension of depth as the line between the two
  2077.   Mandelbrot points.  To draw the image in our previous example you would
  2078.   set the 'From Mandelbrot' to (-.83, .25) and the 'To Mandelbrot' as (-
  2079.   .83, -.25).  If you set the number of 'z' pixels to 128 then the program
  2080.   will draw the 128 Julia sets found between Mandelbrot points (-.83, .25)
  2081.   and (-.83, -.25).  To speed things up the program doesn't actually
  2082.   calculate ALL the coordinates of the Julia sets.  It starts with the a
  2083.   pixel a the Julia set closest to the observer and moves into the screen
  2084.   until it either reaches the required bailout or the limit to the range
  2085.   of depth.  Zooming can be done in the same manner as with other
  2086.   fractals.  The visual effect (with other values unchanged) is similar to
  2087.   putting the boxed section under a pair of magnifying glasses.
  2088.  
  2089.   The variable associated with penetration level is the level of bailout
  2090.   there you decide to make the fractal solid.  In other words all bailout
  2091.   levels less than the penetration level are considered to be transparent,
  2092.   and those equal or greater to be opaque.  The farther away the apparent
  2093.   pixel is the dimmer the color.
  2094.  
  2095.                      Fractint Version 15.0                     Page 39
  2096.  
  2097.  
  2098.   The remainder of the parameters are needed to construct the red/blue
  2099.   picture so that the fractal appears with the desired depth and proper
  2100.   'z' location.  With the origin set to 8 inches beyond the screen plane
  2101.   and the depth of the fractal at 8 inches the default fractal will appear
  2102.   to start at 4 inches beyond the screen and extend to 12 inches if your
  2103.   eyeballs are 2.5 inches apart and located at a distance of 24 inches
  2104.   from the screen.  The screen dimensions provide the reference frame.
  2105.  
  2106.   To the human eye blue appears brighter than red.  The Blue:Red ratio is
  2107.   used to compensate for this fact.  If the image appears reddish through
  2108.   the glasses raise this value until the image appears to be in shades of
  2109.   gray.  If it appears bluish lower the ratio.  Julibrots can only be
  2110.   shown in 256 red/blue colors for viewing in either stereo-graphic
  2111.   (red/blue funny glasses) or gray-scaled.  Fractint automatically loads
  2112.   either GLASSES1.MAP or ALTERN.MAP as appropriate.
  2113.  
  2114.  
  2115.  Diffusion Limited Aggregation (type=diffusion)
  2116.  
  2117.   This type begins with a single point in the center of the screen.
  2118.   Subsequent points move around randomly until coming into contact with
  2119.   the first point, at which time their locations are fixed and they are
  2120.   colored randomly.  This process repeats until the fractals reaches the
  2121.   edge of the screen.  Use the show orbits function to see the points'
  2122.   random motion.
  2123.  
  2124.   One unfortunate problem is that on a large screen, this process will
  2125.   tend to take eons.  To speed things up, the points are restricted to a
  2126.   box around the initial point.  The first and only parameter to diffusion
  2127.   contains the size of the border between the fractal and the edge of the
  2128.   box.  If you make this number small, the fractal will look more solid
  2129.   and will be generated more quickly.
  2130.  
  2131.   Diffusion was inspired by a Scientific American article a couple of
  2132.   years back which includes actual pictures of real physical phenomena
  2133.   that behave like this.
  2134.  
  2135.   Thanks to Adrian Mariano for providing the diffusion code and
  2136.   documentation.
  2137.  
  2138.  
  2139.  Magnetic Fractals (type=magnet1m/.../magnet2j)
  2140.  
  2141.   These fractals use formulae derived from the study of hierarchical
  2142.   lattices, in the context of magnetic renormalisation transformations.
  2143.   This kinda stuff is useful in an area of theoretical physics that deals
  2144.   with magnetic phase-transitions (predicting at which temperatures a
  2145.   given substance will be magnetic, or non-magnetic).  In an attempt to
  2146.   clarify the results obtained for Real temperatures (the kind that you
  2147.   and I can feel), the study moved into the realm of Complex Numbers,
  2148.   aiming to spot Real phase-transitions by finding the intersections of
  2149.   lines representing Complex phase-transitions with the Real Axis.  The
  2150.   first people to try this were two physicists called Yang and Lee, who
  2151.  
  2152.                      Fractint Version 15.0                     Page 40
  2153.  
  2154.   found the situation a bit more complex than first expected, as the phase
  2155.   boundaries for Complex temperatures are (surprise!) fractals.
  2156.  
  2157.   And that's all the technical (?) background you're getting here!  For
  2158.   more details (are you SERIOUS ?!) read "The Beauty of Fractals".  When
  2159.   you understand it all, you might like to re-write this section, before
  2160.   you start your new job as a professor of theoretical physics...
  2161.  
  2162.   In Fractint terms, the important bits of the above are "Fractals",
  2163.   "Complex Numbers", "Formulae", and "The Beauty of Fractals".  Lifting
  2164.   the Formulae straight out of the Book and iterating them over the
  2165.   Complex plane (just like the Mandelbrot set) produces Fractals.
  2166.  
  2167.   The formulae are a bit more complicated than the Z^2+C used for the
  2168.   Mandelbrot Set, that's all.  They are :
  2169.  
  2170.                  /  Z^2 + (C-1)  \
  2171.       MAGNET1 : |  -------------  | ^ 2
  2172.                  \  2*Z + (C-2)  /
  2173.  
  2174.                  /      Z^3 + 3*(C-1)*Z + (C-1)*(C-2)      \
  2175.       MAGNET2 : |  ---------------------------------------  | ^ 2
  2176.                  \  3*(Z^2) + 3*(C-2)*Z + (C-1)*(C-2) - 1  /
  2177.  
  2178.   These aren't quite as horrific as they look (oh yeah ?!) as they only
  2179.   involve two variables (Z and C), but cubing things, doing division, and
  2180.   eventually squaring the result (all in Complex Numbers) don't exactly
  2181.   spell S-p-e-e-d !  These are NOT the fastest fractals in Fractint !
  2182.  
  2183.   As you might expect, for both formulae there is a single related
  2184.   Mandelbrot-type set (magnet1m, magnet2m) and an infinite number of
  2185.   related Julia-type sets (magnet1j, magnet2j), with the usual toggle
  2186.   between the corresponding Ms and Js via the spacebar.
  2187.  
  2188.   If you fancy delving into the Julia-types by hand, you will be prompted
  2189.   for the Real and Imaginary parts of the parameter denoted by C.  The
  2190.   result is symmetrical about the Real axis (and therefore the initial
  2191.   image gets drawn in half the usual time) if you specify a value of Zero
  2192.   for the Imaginary part of C.
  2193.  
  2194.   Fractint Historical Note:  Another complication (besides the formulae)
  2195.   in implementing these fractal types was that they all have a finite
  2196.   attractor (1.0 + 0.0i), as well as the usual one (Infinity).  This fact
  2197.   spurred the development of Finite Attractor logic in Fractint.  Without
  2198.   this code you can still generate these fractals, but you usually end up
  2199.   with a pretty boring image that is mostly deep blue "lake", courtesy of
  2200.   Fractint's standard Periodicity Checking.  See the Finite Attractors
  2201.   section for more information on this aspect of Fractint internals.
  2202.  
  2203.   (Thanks to Kevin Allen for Magnetic type documentation above).
  2204.  
  2205.                      Fractint Version 15.0                     Page 41
  2206.  
  2207.  L-Systems (type=lsystem)
  2208.  
  2209.   These fractals are constructed from line segments using rules specified
  2210.   in drawing commands.  Starting with an initial string, the axiom,
  2211.   transformation rules are applied a specified number of times, to produce
  2212.   the final command string which is used to draw the image.
  2213.  
  2214.   Like the type=formula fractals, this type requires a separate data file.
  2215.   A sample file, FRACTINT.L, is included with this distribution.  When you
  2216.   select type lsystem, you are asked for the filename.  Next you are asked
  2217.   for the lsystem name you wish to run.  Last, you are asked for one
  2218.   parameter - the "order", or number of times to execute all the
  2219.   transformation rules.  It is wise to start with small orders, because
  2220.   the size of the substituted command string grows exponentially and it is
  2221.   very easy to exceed your resolution.  (Higher orders take longer to
  2222.   generate too.)  The command line options "lname=" and "lfile=" can be
  2223.   used to over-ride the default file name and lsystem name.
  2224.  
  2225.   Each L-System entry in the file contains a specification of the angle,
  2226.   the axiom, and the transformation rules.  Each item must appear on its
  2227.   own line and each line must be less than 160 characters long.
  2228.  
  2229.   The statement "angle n" sets the angle to 360/n degrees; n must be an
  2230.   integer greater than two and less than fifty.
  2231.  
  2232.   "Axiom string" defines the axiom.
  2233.  
  2234.   Transformation rules are specified as "a=string" and convert the single
  2235.   character 'a' into "string."  If more than one rule is specified for a
  2236.   single character all of the strings will be added together.  This allows
  2237.   specifying transformations longer than the 160 chararacter limit.
  2238.   Transformation rules may operate on any characters except space, tab or
  2239.   '}'.
  2240.  
  2241.   A line which starts with ;; is a comment line.
  2242.  
  2243.   Here is a sample lsystem:
  2244.  
  2245.                    | This comment section would NOT be legal.
  2246.                    | Comments inside an L-System start with ;; at
  2247.                    | the start of the line.
  2248.   Dragon {         | Name of lsystem, { indicates start
  2249.     ;; Comment!    | This is a comment
  2250.     Angle 8        | Specify the angle increment to 45 degrees
  2251.     Axiom FX       | Starting character string
  2252.     F=             | First rule:  Delete 'F'
  2253.     y=+FX--FY+     | Change 'y' into  "+fx--fy+"
  2254.     x=-FX++FY-     | Similar transformation on 'x'
  2255.   }                | final } indicates end
  2256.  
  2257.   The standard drawing commands are:
  2258.       F Draw forward
  2259.       G Move forward (without drawing)
  2260.       + Increase angle
  2261.       - Decrease angle
  2262.  
  2263.                      Fractint Version 15.0                     Page 42
  2264.  
  2265.       | Try to turn 180 degrees. (If angle is odd, the turn
  2266.         will be the largest possible turn less than 180 degrees.)
  2267.  
  2268.   These commands increment angle by the user specified angle value. They
  2269.   should be used when possible because they are fast. If greater
  2270.   flexibility is needed, use the following commands which keep a
  2271.   completely separate angle pointer which is specified in degrees.
  2272.  
  2273.       D   Draw forward
  2274.       M   Move forward
  2275.       \nn Increase angle nn degrees
  2276.       /nn Decrease angle nn degrees
  2277.  
  2278.   Color control:
  2279.       Cnn Select color nn
  2280.       <nn Increment color by nn
  2281.       >nn decrement color by nn
  2282.  
  2283.   Advanced commands:
  2284.       !     Reverse directions (Switch meanings of +, - and \, /)
  2285.       @nnn  Multiply line segment size by nnn
  2286.             nnn may be a plain number, or may be preceeded by
  2287.                 I for inverse, or Q for sqare root.
  2288.                 (e.g.  @IQ2 divides size by the square root of 2)
  2289.       [     Push.  Stores current angle and position on a stack
  2290.       ]     Pop.  Return to location of last push
  2291.  
  2292.   Other characters are perfectly legal in command strings.  They are
  2293.   ignored for drawing purposes, but can be used to achieve complex
  2294.   translations.
  2295.  
  2296.                      Fractint Version 15.0                     Page 43
  2297.  
  2298.  3. Doodads, Bells, and Whistles
  2299.  
  2300.  
  2301.  Distance Estimator Method
  2302.  
  2303.   This is Phil Wilson's implementation of an alternate method for the M
  2304.   and J sets, based on work by mathematician John Milnor and described in
  2305.   "The Science of Fractal Images", p. 198.  While it takes full advantage
  2306.   of your color palette, one of the best uses is in preparing monochrome
  2307.   images for a printer.  Using the 1600x1200x2 disk-video mode and an HP
  2308.   LaserJet, we have produced pictures of quality equivalent to the black
  2309.   and white illustrations of the M-set in "The Beauty of Fractals."
  2310.  
  2311.   The distance estimator method widens very thin "strands" which are part
  2312.   of the "inside" of the set.  Instead of hiding invisibly between pixels,
  2313.   these strands are made one pixel wide.
  2314.  
  2315.   To turn on the distance estimator method with any escape time type
  2316.   fractal, set the "distest" value on the <X> options screen to a nonzero
  2317.   value.  You should use 1 or 2 pass mode to avoid missing some of the
  2318.   thin strands made visible by distance estimator.  For the highest
  2319.   quality, "maxiter" should also be set to a high value, say 1000 or so.
  2320.   You'll probably also want "inside" set to zero, to get a black interior.
  2321.  
  2322.   In color modes, this method also produces more evenly spaced contours.
  2323.   Set "distest" to a higher value for narrower color bands, a lower value
  2324.   for wider ones.  1000 is a good value to start with.
  2325.  
  2326.   Setting "distest" automatically toggles to floating point mode. When you
  2327.   reset distest back to zero, remember to also turn off floating point
  2328.   mode if you want it off.
  2329.  
  2330.   Unfortunately, images using the distance estimator method can take many
  2331.   hours to calculate even on a fast machine with a coprocessor, especially
  2332.   if a high "maxiter" value is used.  One way of dealing with this is to
  2333.   leave distest turned off while you find and frame an image.  Then hit
  2334.   <B> to save the coordinates to FRABATCH.BAT. Edit the batch file, adding
  2335.   "distest=1", "video=something" to select a high-resolution monochrome
  2336.   disk-video mode, "maxiter=1000", "inside=0" and "batch=yes".  (Watch out
  2337.   for the line exceeding the DOS limit of 120 characters - if it does, use
  2338.   "fractint @filename" in your batch and put the parameters in another
  2339.   file "filename".) Run the batch file when you won't be needing your
  2340.   machine (over the weekend?)
  2341.  
  2342.  
  2343.  Inversion
  2344.  
  2345.   Many years ago there was a brief craze for "anamorphic art": images
  2346.   painted and viewed with the use of a cylindrical mirror, so that  they
  2347.   looked weirdly distorted on the canvas but correct in the distorted
  2348.   reflection. (This byway of art history may be a useful defense when your
  2349.   friends and family give you odd looks for staring at fractal images
  2350.   color-cycling on a CRT.)
  2351.  
  2352.                      Fractint Version 15.0                     Page 44
  2353.  
  2354.   The Inversion option performs a related transformation on most of the
  2355.   fractal types. You define the center point and radius of a circle;
  2356.   Fractint maps each point inside the circle to a corresponding point
  2357.   outside, and vice-versa. This is known to mathematicians as inverting
  2358.   (or if you want to get precise, "everting") the plane, and is something
  2359.   they can contemplate without getting a headache. John Milnor, mentioned
  2360.   earlier in connection with the distance-estimator method, made his name
  2361.   in the 1950s with a method for everting a seven-dimensional sphere, so
  2362.   we have a lot of catching up to do.
  2363.  
  2364.   For example, if a point inside the circle is 1/3 of the way from the
  2365.   center to the radius, it is mapped to a point along the same radial
  2366.   line, but at a distance of (3 * radius) from the origin. An outside
  2367.   point at 4 times the radius is mapped inside at 1/4 the radius.
  2368.  
  2369.   The inversion parameters on the <Y> options screen allow entry of the
  2370.   radius and center coordinates of the inversion circle. A default choice
  2371.   of -1 sets the radius at 1/6 the smaller dimension of the image
  2372.   currently on the screen.  The default values for Xcenter and Ycenter use
  2373.   the coordinates currently mapped to the center of the screen.
  2374.  
  2375.   Try this one out with a Newton plot, so its radial "spokes" will give
  2376.   you something to hang on to. Plot a Newton-method image, then set the
  2377.   inversion radius to 1, with default center coordinates. The center
  2378.   "explodes" to the periphery.
  2379.  
  2380.   Inverting through a circle not centered on the origin produces bizarre
  2381.   effects that we're not even going to try to describe. Aren't computers
  2382.   wonderful?
  2383.  
  2384.  
  2385.  Decomposition
  2386.  
  2387.   You'll remember that most fractal types are calculated by iterating a
  2388.   simple function of a complex number, producing another complex number,
  2389.   until either the number exceeds some pre-defined "bailout" value, or the
  2390.   iteration limit is reached. The pixel corresponding to the starting
  2391.   point is then colored based on the result of that calculation.
  2392.  
  2393.   The decomposition option ("decomp=", on the <X> screen) toggles to
  2394.   another coloring protocol.  Here the points are colored according to
  2395.   which quadrant of the complex plane (negative real/positive imaginary,
  2396.   positive real/positive imaginary, etc.) the final value is in. If you
  2397.   use 4 as the parameter, points ending up in each quadrant are given
  2398.   their own color; if 2 (binary decomposition), points in alternating
  2399.   quadrants are given 2 alternating colors.
  2400.  
  2401.   The result is a kind of warped checkerboard coloring, even in areas that
  2402.   would ordinarily be part of a single contour. Remember, for the M-set
  2403.   all points whose final values exceed 2 (by any amount) after, say, 80
  2404.   iterations are normally the same color; under decomposition, Fractint
  2405.   runs [bailout-value] iterations and then colors according to where the
  2406.   actual final value falls on the complex plane.
  2407.  
  2408.                      Fractint Version 15.0                     Page 45
  2409.  
  2410.   When using decomposition, a higher bailout value will give a more
  2411.   accurate plot, at some expense in speed.  You might want to set the
  2412.   bailout value (in the parameters prompt following selection of a new
  2413.   fractal type; present for most but not all types) to a higher value than
  2414.   the default.  A value of about 50 is a good compromise for M/J sets.
  2415.  
  2416.  
  2417.  Logarithmic Palettes
  2418.  
  2419.   By default, Fractint maps iterations to colors 1-1.  If you are using a
  2420.   16-color video mode, and you are using the default maximum iteration
  2421.   count of 150, your image will run through the 16-color palette 150/16 =
  2422.   9.375 times.  If you elect to use Logarithmic palettes, the entire range
  2423.   of iteration values is compressed to map to one span of the color range.
  2424.   This results in spectacularly different images if you are using a high
  2425.   iteration limit near the current iteration maximum of 32000 and are
  2426.   zooming in on an area near a "lakelet".
  2427.  
  2428.   Fractint has a number of types of compressed palette, selected by the
  2429.   "Log Palette" line on the <X> screen, or by the "logmap=" command line
  2430.   parameter.
  2431.  
  2432.   logmap=1: for standard logarithmic palette.
  2433.  
  2434.   logmap=-1: "old" logarithmic palette. This variant was the only one used
  2435.   before Fractint 14.0. It differs from logmap=1 in that some colors are
  2436.   not used - logmap=1 "spreads" low color numbers which are unused by
  2437.   logmap=-1's pure logarithmic mapping so that all colors are assigned.
  2438.  
  2439.   logmap=N (>1): Same as logmap=1, but starting from iteration count N.
  2440.   Pixels with iteration counts less than N are mapped to color 1. This is
  2441.   useful when zooming in an area near the lake where no points in the
  2442.   image have low iteration counts - it makes use of the low colors which
  2443.   would otherwise be unused.
  2444.  
  2445.   logmap=-N (<-1): Similar to logmap=N, but uses a square root
  2446.   distribution of the colors instead of a logarithmic one.
  2447.  
  2448.   When using a compressed palette in a 256 color mode, we suggest changing
  2449.   your colors from the usual defaults.  The last few colors in the default
  2450.   IBM VGA color map are black.  This results in points nearest the "lake"
  2451.   smearing into a single dark band, with little contrast from the blue (by
  2452.   default) lake.
  2453.  
  2454.  
  2455.  Biomorphs
  2456.  
  2457.   Related to binary decomposition are the "biomorphs" invented by Clifford
  2458.   Pickover, and discussed by A. K. Dewdney in the July 1989 "Scientific
  2459.   American", page 110.  These are so-named because this coloring scheme
  2460.   makes many fractals look like one-celled animals.  The idea is simple.
  2461.   The escape-time algorithm terminates an iterating formula when the size
  2462.   of the orbit value exceeds a predetermined bailout value. Normally the
  2463.   pixel corresponding to that orbit is colored according to the iteration
  2464.   when bailout happened. To create biomorphs, this is modified so that if
  2465.  
  2466.                      Fractint Version 15.0                     Page 46
  2467.  
  2468.   EITHER the real OR the imaginary component is LESS than the bailout,
  2469.   then the pixel is set to the "biomorph" color. The effect is a bit
  2470.   better with higher bailout values: the bailout is automatically set to
  2471.   100 when this option is in effect. You can try other values with the
  2472.   "bailout=" option.
  2473.  
  2474.   The biomorph option is turned on via the "biomorph=nnn" command-line
  2475.   option (where "nnn" is the color to use on the affected pixels).  When
  2476.   toggling to Julia sets, the default corners are three times bigger than
  2477.   normal to allow seeing the biomorph appendages. Does not work with all
  2478.   types - in particular it fails with any of the mandelsine family.
  2479.   However, if you are stuck with monochrome graphics, try it - works great
  2480.   in two-color modes. Try it with the marksmandel and marksjulia types.
  2481.  
  2482.  
  2483.  Starfields
  2484.  
  2485.   Once you have generated your favorite fractal image, you can convert it
  2486.   into a fractal starfield with the 'a' transformation (for 'astronomy'? -
  2487.   once again, all of the good letters were gone already).  Stars are
  2488.   generated on a pixel-by-pixel basis - the odds that a particular pixel
  2489.   will coalesce into a star are based (partially) on the color index of
  2490.   that pixel.
  2491.  
  2492.   (The following was supplied by Mark Peterson, the starfield author).
  2493.  
  2494.   If the screen were entirely black and the 'Star Density per Pixel' were
  2495.   set to 30 then a starfield transformation would create an evenly
  2496.   distributed starfield with an average of one star for every 30 pixels.
  2497.  
  2498.   If you're on a 320x200 screen then you have 64000 pixels and would end
  2499.   up with about 2100 stars.  By introducing the variable of 'Clumpiness'
  2500.   we can create more stars in areas that have higher color values.  At
  2501.   100% Clumpiness a color value of 255 will change the average of finding
  2502.   a star at that location to 50:50.  A lower clumpiness values will lower
  2503.   the amount of probability weighting.  To create a spiral galaxy draw
  2504.   your favorite spiral fractal (IFS, Julia, or Mandelbrot) and perform a
  2505.   starfield transformation.  For general starfields I'd recommend
  2506.   transforming a plasma fractal.
  2507.  
  2508.   Real starfields have many more dim stars than bright ones because very
  2509.   few stars are close enough to appear bright.  To achieve this effect the
  2510.   program will create a bell curve based on the value of ratio of Dim
  2511.   stars to bright stars.  After calculating the bell curve the curve is
  2512.   folded in half and the peak used to represent the number of dim stars.
  2513.  
  2514.   Starfields can only be shown in 256 colors.  Fractint will automatically
  2515.   try to load ALTERN.MAP and abort if the map file cannot be found.
  2516.  
  2517.                      Fractint Version 15.0                     Page 47
  2518.  
  2519.  4. "3D" Images
  2520.  
  2521.   Fractint can now restore images in "3D". Important: we use quotation
  2522.   marks because it does not CREATE images of 3D fractal objects (there are
  2523.   such, but we're not there yet.) Instead, it restores .GIF images as a 3D
  2524.   PROJECTION or STEREO IMAGE PAIR.  The iteration values you've come to
  2525.   know and love, the ones that determine pixel colors, are translated into
  2526.   "height" so that your saved screen becomes a landscape viewed in
  2527.   perspective. You can even wrap the landscape onto a sphere for
  2528.   realistic-looking planets and moons that never existed outside your PC!
  2529.  
  2530.   We suggest starting with a saved plasma-cloud screen. Hit <3> in main
  2531.   command mode to begin the process. Next, select the file to be
  2532.   transformed, and the video mode. (Usually you want the same video mode
  2533.   the file was generated in; other choices may or may not work.)
  2534.  
  2535.   Now, you'll be bombarded with a long series of options. Not to worry:
  2536.   all of them have defaults chosen to yield an acceptable starting image,
  2537.   so the first time out just pump your way through with the <Enter> key.
  2538.   When you enter a different value for any option, that becomes the
  2539.   default value the next time you hit <3>, so you can change one option at
  2540.   a time until you get what you want. Generally <ESC> will take you back
  2541.   to the previous screen.
  2542.  
  2543.   Once you're familiar with the effects of the 3D option values you have a
  2544.   variety of options on how to specify them. You can specify them all on
  2545.   the command line (there ARE a lot of them so they may not all fit within
  2546.   the DOS command line limits), with an SSTOOLS.INI file, or with a
  2547.   command file.
  2548.  
  2549.   Here's an example for you power FRACTINTers, the command
  2550.  
  2551.             FRACTINT MYFILE SAVENAME=MY3D 3D=YES BATCH=YES
  2552.  
  2553.   would make Fractint load MYFILE.GIF, re-plot it as a 3D landscape
  2554.   (taking all of the defaults), save the result as MY3D.GIF, and exit to
  2555.   DOS. By the time you've come back with that cup of coffee, you'll have a
  2556.   new world to view, if not conquer.
  2557.  
  2558.   Note that the image created by 3D transformation is treated as if it
  2559.   were a plasma cloud - We have NO idea how to retain the ability to zoom
  2560.   and pan around a 3D image that has been twisted, stretched, perspective-
  2561.   ized, and water-leveled. Actually, we do, but it involves the kind of
  2562.   hardware that Industrial Light & Magic, Pixar et al. use for feature
  2563.   films. So if you'd like to send us a check equivalent to George Lucas'
  2564.   net from the "Star Wars" series...
  2565.  
  2566.  
  2567.  3D Mode Selection
  2568.  
  2569.   After hitting <3> and getting past the filename prompt and video mode
  2570.   selection, you're presented with a "3d Mode Selection" screen. Each
  2571.   selection will have defaults entered if you wish to change any of the
  2572.   defaults use the cursor keys to move through the menu. When you're
  2573.   satisfied press <Enter>.
  2574.  
  2575.                      Fractint Version 15.0                     Page 48
  2576.  
  2577.  
  2578.   Here are the options and what they do:
  2579.  
  2580.   Preview Mode:
  2581.  
  2582.      Preview mode provides a rapid look at your transformed image using
  2583.      by skipping a lot of rows and filling the image in. Good for quickly
  2584.      discovering the best parameters. Let's face it, the Fractint authors
  2585.      most famous for "blazingly fast" code *DIDN'T* write the 3D
  2586.      routines!
  2587.  
  2588.   Show Box:
  2589.  
  2590.      If you have selected Preview Mode you have another option to worry
  2591.      about. This is the option to show the image box in scaled and
  2592.      rotated coordinates x, y, and z. The box only appears in rectangular
  2593.      transformations and shows how the final image will be oriented. If
  2594.      you select light source in the next screen, it will also show you
  2595.      the light source vector so you can tell where the light is coming
  2596.      from in relation to your image. Sorry no head or tail on the vector
  2597.      yet.
  2598.  
  2599.   Coarseness:
  2600.  
  2601.      This sets how many divisions the image will be divided into in the y
  2602.      direction, if you select preview mode above, or grid fill in the
  2603.      "Select Fill Type" screen next.
  2604.  
  2605.   Spherical Projection:
  2606.  
  2607.      The next question asks if you want a sphere projection. This will
  2608.      take  your image and map it onto a plane if you answer "no" or a
  2609.      sphere if you answer "yes" as described above. Try it and you'll see
  2610.      what we mean.
  2611.  
  2612.   Stereo:
  2613.  
  2614.      Stereo sound in Fractint? Well, not yet. Fractint now allows you to
  2615.      create 3D images for use with red/blue glasses like 3D comics you
  2616.      may have seen, or images like Captain EO.
  2617.  
  2618.      Option 0 is normal old 3D you can look at with just your eyes.
  2619.  
  2620.      Options 1 and 2 require the special red/blue-green glasses.  They
  2621.      are meant to be viewed right on the screen or on a color print off
  2622.      of the screen. The image can be made to hover entirely or partially
  2623.      in front of the screen. Great fun!  These two options give a gray
  2624.      scale image when viewed.
  2625.  
  2626.      Option 1 gives 64 shades of gray but with half the spatial
  2627.      resolution you have selected. It works by writing the red and blue
  2628.      images on adjacent pixels, which is why it eats half your
  2629.      resolution. In general, we recommend you use this only with
  2630.      resolutions above 640x350. Use this mode for continuous potential
  2631.      landscapes where you *NEED* all those shades.
  2632.  
  2633.                      Fractint Version 15.0                     Page 49
  2634.  
  2635.  
  2636.      Option "2" gives you full spatial resolution but with only 16 shades
  2637.      of gray. If the red and blue images overlap, the colors are mixed.
  2638.      Good for wire-frame images (we call them surface grids), lorenz3d
  2639.      and ifs3d. Works fine in 16 color modes.
  2640.  
  2641.      Option 3 is for creating stereo pair images for view later with more
  2642.      specialized equipment. It allows full color images to be presented
  2643.      in glorious stereo. The left image presented on the screen first.
  2644.      You may photograph it or save it. Then the second image is
  2645.      presented, you may do the same as the first image. You can then take
  2646.      the two images and convert them to a stereo image pair as outlined
  2647.      by Bruce Goren (see below). When you are satisfied with your
  2648.      selections press enter to go to the next screen which will appear
  2649.      below this one.
  2650.  
  2651.  
  2652.  Select Fill Type Screen
  2653.  
  2654.   These options exist because in the course of the 3D projection, portions
  2655.   of the original image may be stretched to fit the new surface. Points of
  2656.   an image that formerly were right next to each other, now may have a
  2657.   space between them. These options generally determine what to do with
  2658.   the space between the mapped dots.
  2659.  
  2660.   For an illustration, pick the second option "just draw the points",
  2661.   which just maps points to corresponding points. Generally this will
  2662.   leave empty space between many of the points. Therefore you can choose
  2663.   various algorithms that "fill in" the space between the points in
  2664.   various ways.
  2665.  
  2666.   Now, try the first option "make a surface grid." This option will make a
  2667.   grid of the surface which is as many divisions in the original "y"
  2668.   direction as was set in "coarse" in the first screen. It is very fast,
  2669.   and can give you a good idea what the final relationship of parts of
  2670.   your picture will look like.
  2671.  
  2672.   Try the second option, "connect the dots (wire frame)", then "surface
  2673.   fills - (colors interpolated)" and "(colors not interpolated), the
  2674.   general favorite of the authors. Solid fill, while it reveals the
  2675.   pseudo-geology under your pseudo-landscape, inevitably takes longer.
  2676.  
  2677.   Now try the light source fill types. These two algorithms allow you to
  2678.   position the "sun" over your "landscape." Each pixel is colored
  2679.   according to the angle the surface makes with an imaginary light source.
  2680.   You will be asked to enter the three coordinates of the vector pointing
  2681.   toward the light in one of the following screens.
  2682.  
  2683.   Light source before transformation calculates the illumination before
  2684.   doing the coordinate transformations, and is slightly faster. If you
  2685.   generate a sequence of images where one rotation is progressively
  2686.   changed, the effect is as if the image and the light source are fixed in
  2687.   relation to each other and you orbit around the image.
  2688.  
  2689.                      Fractint Version 15.0                     Page 50
  2690.  
  2691.   Light source after transformation applies the transformations first,
  2692.   then calculates the illumination. If you generate a sequence of images
  2693.   with progressive rotation as above the effect is as if you and the light
  2694.   source are fixed and the object is rotating.
  2695.  
  2696.   For ease of discussion we will refer to the following fill types by
  2697.   these numbers:
  2698.       1 - surface grid
  2699.       2 - (default) - no fill at all - just draw the dots.
  2700.       3 - wire frame - joins points with lines
  2701.       4 - surface fill - (colors interpolated)
  2702.       5 - surface fill - (interpolation turned off)
  2703.       6 - solid fill - draws lines from the "ground" up to the point
  2704.       7 - surface fill with light model - calculated before 3D transforms
  2705.       8 - surface fill with light model - calculated after 3D transforms
  2706.  
  2707.   Types 4, 7, and 8 interpolate colors when filling, making a very smooth
  2708.   fill if the palette is continuous. This may not be desirable if the
  2709.   palette is not continuous. Type 5 is the same as type 4 with
  2710.   interpolation turned off. You might want to use fill type 5, for
  2711.   example, to project a .GIF photograph onto a sphere. With type 4, you
  2712.   might see the filled-in points, since chances are the palette is not
  2713.   continuous; type 5 fills those same points in with the colors of
  2714.   adjacent pixels. However, for most fractal images, fill type 4 works
  2715.   better.
  2716.  
  2717.  
  2718.  Stereo 3D Viewing
  2719.  
  2720.   If you selected Stereo option 1, 2 or 3 you will be presented another
  2721.   screen to select from. We suggest you definitely use defaults at first
  2722.   on this one.
  2723.  
  2724.   Funny Glasses Parameters
  2725.  
  2726.   When you look at an image with both eyes, each eye sees the image in
  2727.   slightly different perspective because they see it from different
  2728.   places.
  2729.  
  2730.   The first selection you must make is ocular separation, the distance the
  2731.   between the viewers eyes. This is measured as a % of screen and is an
  2732.   important factor in setting the position of the final stereo image in
  2733.   front of or behind the CRT Screen.
  2734.  
  2735.   The second selection is convergence, also as a % of screen. This tends
  2736.   to move the image forward and back to set where it floats. More positive
  2737.   values move the image towards the viewer. The value of this parameter
  2738.   needs to be set in conjunction with the setting of ocular separation and
  2739.   the perspective distance. It directly adjusts the overall separation of
  2740.   the two stereo images. Beginning anaglyphers love to create images
  2741.   floating mystically in front of the screen, but grizzled old 3D veterans
  2742.   look upon such antics with disdain, and believe the image should be
  2743.   safely inside the monitor where it belongs!
  2744.  
  2745.                      Fractint Version 15.0                     Page 51
  2746.  
  2747.   Left and Right Red and Blue image crop (% of screen also) help keep the
  2748.   visible part of the right image the same as the visible part of the left
  2749.   by cropping them. If there is too much in the field of either eye that
  2750.   the other doesn't see, the stereo effect can be ruined.
  2751.  
  2752.   Red and Blue brightness factor. The generally available red/blue-green
  2753.   glasses, made for viewing on ink on paper and not the light from a CRT,
  2754.   let in more red light in the blue-green lens than we would like. This
  2755.   leaves a ghost of the red image on the blue-green image (definitely not
  2756.   desired in stereo images). We have countered this by adjusting the
  2757.   intensity of the red and blue values on the CRT. In general you should
  2758.   not have to adjust this.
  2759.  
  2760.   The final entry is Map file name. If you have a special map file you
  2761.   want to use for Stereo 3D this is the place to enter its name. Generally
  2762.   glasses1.map is for type 1 (alternating pixels), and glasses2.map is for
  2763.   type 2 (superimposed pixels). Grid.map is great for wire-frame images
  2764.   using 16 color modes.
  2765.  
  2766.  
  2767.  Rectangular Coordinate Transformation
  2768.  
  2769.   The first entries are rotation values around the X, Y, and Z axes. Think
  2770.   of your starting image as a flat map: the X value tilts the bottom of
  2771.   your monitor towards you by X degrees, the Y value pulls the left side
  2772.   of the monitor towards you, and the Z value spins it counter-clockwise.
  2773.   Note that these are NOT independent rotations: the image is rotated
  2774.   first along the X-axis, then along the Y-axis, and finally along the Z-
  2775.   axis. Those are YOUR axes, not those of your (by now hopelessly skewed)
  2776.   monitor. All rotations actually occur through the center of the original
  2777.   image.
  2778.  
  2779.   Then there are three scaling factors in percent. Initially, leave the X
  2780.   and Y axes alone and play with Z, now the vertical axis, which
  2781.   translates into surface "roughness."  High values of Z make spiky, on-
  2782.   beyond-Alpine mountains and improbably deep valleys; low values make
  2783.   gentle, rolling terrain. Negative roughness is legal: if you're doing an
  2784.   M-set image and want Mandelbrot Lake to be below the ground, instead of
  2785.   eerily floating above, try a roughness of about -30%.
  2786.  
  2787.   Next we need a water level -- really a minimum-color value that performs
  2788.   the function "if (color < waterlevel) color = waterlevel". So it plots
  2789.   all colors "below" the one you choose at the level of that color, with
  2790.   the effect of filling in "valleys" and converting them to "lakes."
  2791.  
  2792.   Now we enter a perspective distance, which you can think of as the
  2793.   "distance" from your eye to the image. A zero value (the default) means
  2794.   no perspective calculations, which allows use of a faster algorithm.
  2795.  
  2796.   For non-zero values, picture a box with the original X-Y plane of your
  2797.   flat fractal on the bottom, and your 3D fractal inside. A perspective
  2798.   value of 100% places your eye right at the edge of the box and yields
  2799.   fairly severe distortion, like a close view through a wide-angle lens.
  2800.   200% puts your eye as far from the front of the box as the back is
  2801.   behind. 300% puts your eye twice as far from the front of the box as the
  2802.  
  2803.                      Fractint Version 15.0                     Page 52
  2804.  
  2805.   back is, etc. Try about 150% for reasonable results. Much larger values
  2806.   put you far away for even less distortion, while values smaller than
  2807.   100% put you "inside" the box. Try larger values first, and work your
  2808.   way in.
  2809.  
  2810.   Next, you are prompted for two types of X and Y shifts (now back in the
  2811.   plane of your screen) that let you move the final image around if you'd
  2812.   like to re-center it. The first set, x and y shift with perspective,
  2813.   move the image and the effect changes the perspective you see. The
  2814.   second set, "x and y adjust without perspective", move the image but do
  2815.   not change perspective.  They are used just for positioning the final
  2816.   image on the screen.
  2817.  
  2818.  
  2819.  Color Parameters
  2820.  
  2821.   Now, you are asked for a range of "transparent" colors, if any. This
  2822.   option is most useful when using the <O>verlay command below. Enter the
  2823.   color range (minimum and maximum value) for which you do not want to
  2824.   overwrite whatever may already be on the screen. The default is no
  2825.   transparency (overwrite everything).
  2826.  
  2827.   Now, for the final option. This one will smooth the transition between
  2828.   colors by randomizing them and reduce the banding that occurs with some
  2829.   maps. Select the value of randomize to between 0 (for no effect) and 7
  2830.   (to randomize your colors almost beyond use). 3 is a good starting
  2831.   point.
  2832.  
  2833.   Well, OK, we lied. If you selected one of the light source fill options,
  2834.   there are still MORE options.
  2835.  
  2836.   If you have selected a fill type which uses light source, you can select
  2837.   the final image to be either in monochrome or full color. 0 selects
  2838.   monochrome and 1 selects glorious full color.
  2839.  
  2840.   That's all for this screen. Press enter and the next and final screen
  2841.   will appear (honestly!).
  2842.  
  2843.  
  2844.  Light Source Parameters
  2845.  
  2846.   This one deals with all the aspects of light source.
  2847.  
  2848.   You must chose the direction of the light from the light source. This
  2849.   will be scaled in the x, y, and z directions the same as the image. For
  2850.   example, 1,1,3 positions the light to come from the lower right front of
  2851.   the screen in relation to the untransformed image. It is important to
  2852.   remember that these coordinates are scaled the same as your image. Thus,
  2853.   "1,1,1" positions the light to come from a direction of equal distances
  2854.   to the right, below and in front of each pixel on the original image.
  2855.   However, if the x,y,z scale is set to 90,90,30 the result will be from
  2856.   equal distances to the right and below each pixel but from only 1/3 the
  2857.   distance in front of the screen i.e.. it will be low in the sky, say,
  2858.   afternoon or morning.
  2859.  
  2860.                      Fractint Version 15.0                     Page 53
  2861.  
  2862.   Then you are asked for a smoothing factor. Unless you used continuous
  2863.   potential (see chapter 6) when generating the starting image, the
  2864.   illumination when using light source fills may appear "sparkly", like a
  2865.   sandy beach in bright sun. A smoothing factor of 2 or 3 will allow you
  2866.   to see the large-scale shapes better.
  2867.  
  2868.   This is primarily useful when doing light source fill types with plasma
  2869.   clouds. But if your fractal is not a plasma cloud and has features with
  2870.   sharply defined boundaries (e.g. Mandelbrot Lake), the smoothing may
  2871.   cause the colors to run. This is a feature, not a bug. (A copyrighted
  2872.   response of [your favorite commercial software company here], used by
  2873.   permission.)
  2874.  
  2875.   The ambient option sets the minimum light value a surface has if it has
  2876.   no direct lighting at all. All light values are scaled from this value
  2877.   to white. This effectively adjusts the depth of the shadows and sets the
  2878.   overall contrast of the image.
  2879.  
  2880.   If you selected the full color option, you have a few more choices. The
  2881.   next is the haze factor. Set this to make distant objects more hazy.
  2882.   Close up objects will have little effect, distant objects will have
  2883.   most. 0 disables the function. 100 is the maximum effect, the farthest
  2884.   objects will be lost in the mist. Currently, this does not really use
  2885.   distance from the viewer, we cheat and use the y value of the original
  2886.   image. So the effect really only works if the y-rotation (set earlier)
  2887.   is between +/- 30.
  2888.  
  2889.   Finally, absolutely the last option (this time we mean it): you can
  2890.   chose the name under which to save your light file. If you have a RAM
  2891.   disk handy, you might want to create the file on it for speed, so
  2892.   include its full path name in this option. If you have not set
  2893.   "overwrite=yes" then the file name will be incremented to avoid over-
  2894.   writing previous files. By the way, the background on the full color
  2895.   file is sky blue instead of black.
  2896.  
  2897.   You'll probably want to adjust the final colors for monochrome fill
  2898.   types using light source via color cycling. Try one of the more
  2899.   continuous palettes (<F8> through <F10>), or load the GRAY palette with
  2900.   the <A>lternate-map command.
  2901.  
  2902.   Now, lie down for a while in a quiet room with a damp washcloth on your
  2903.   forehead. Feeling better? Good -- because it's time to go back almost to
  2904.   the top of the 3D options and just say yes to:
  2905.  
  2906.  
  2907.  Spherical Projection
  2908.  
  2909.   Picture a globe lying on its side, "north" pole to the right. (It's our
  2910.   planet, and we'll position it the way we like.) You will be mapping the
  2911.   X and Y axes of the starting image to latitude and longitude on the
  2912.   globe, so that what was a horizontal row of pixels follows a line of
  2913.   longitude. The defaults exactly cover the hemisphere facing you, from
  2914.   longitude 180 degrees (top) to 0 degrees (bottom) and latitude -90
  2915.   (left) to latitude 90 (right). By changing them you can map the image to
  2916.   a piece of the hemisphere or wrap it clear around the globe.
  2917.  
  2918.                      Fractint Version 15.0                     Page 54
  2919.  
  2920.  
  2921.   The next entry is for a radius factor that controls the over-all size of
  2922.   the globe. All the rest of the entries are the same as in the landscape
  2923.   projection. You may want less surface roughness for a plausible look,
  2924.   unless you prefer small worlds with big topography, a la "The Little
  2925.   Prince."
  2926.  
  2927.   WARNING: When the "construction" process begins at the edge of the globe
  2928.   (default) or behind it, it's plotting points that will be hidden by
  2929.   subsequent points as the process sweeps around the sphere toward you.
  2930.   Our nifty hidden-point algorithms "know" this, and the first few dozen
  2931.   lines may be invisible unless a high mountain happens to poke over the
  2932.   horizon. If you start a spherical projection and the screen stays black,
  2933.   wait for a while (a longer while for higher resolution or fill type 6)
  2934.   to see if points start to appear. Would we lie to you? If you're still
  2935.   waiting hours later, first check that the power's still on, then
  2936.   consider a faster system.
  2937.  
  2938.  
  2939.  3D Overlay Mode
  2940.  
  2941.   While the <3> command creates its image on a blank screen, the <O>
  2942.   command draws a second image over an existing displayed image. This
  2943.   image can be any restored image from a <R> command or the result of a
  2944.   just executed <3> command. So you can do a landscape, then hit <O> and
  2945.   choose spherical projection to re-plot that image or another as a moon
  2946.   in the sky above the landscape. <O> can be repeated as many times as you
  2947.   like.
  2948.  
  2949.   It's worth noting that not all that many years ago, one of us watched
  2950.   Benoit Mandelbrot and fractal-graphics wizard Dick Voss creating just
  2951.   such a moon-over-landscape image at IBM's research center in Yorktown
  2952.   Heights, NY. The system was a large and impressive mainframe with
  2953.   floating-point facilities bigger than the average minicomputer, running
  2954.   LBLGRAPH -- what Mandelbrot calls "an independent-minded and often very
  2955.   ill-mannered heap of graphics programs that originated in work by Alex
  2956.   Hurwitz and Jack Wright of IBM Los Angeles."
  2957.  
  2958.   We'd like to salute LBLGRAPH, its successors, and their creators,
  2959.   because it was their graphic output (like "Planetrise over Labelgraph
  2960.   Hill," plate C9 in Mandelbrot's "Fractal Geometry of Nature") that
  2961.   helped turn fractal geometry from a mathematical curiosity into a
  2962.   phenomenon. We'd also like to point out that it wasn't as fast, flexible
  2963.   or pretty as Fractint on a 386/16 PC with S-VGA graphics. Now, a lot of
  2964.   the difference has to do with the incredible progress of micro-processor
  2965.   power since then, so a lot of the credit should go to Intel rather than
  2966.   to our highly tuned code. OK, twist our arms -- it IS awfully good code.
  2967.  
  2968.  
  2969.  Special Note for CGA or Hercules Users
  2970.  
  2971.   If you are one of those unfortunates with a CGA or Hercules 2-color
  2972.   monochrome graphics, it is now possible for you to make 3D projection
  2973.   images.
  2974.  
  2975.                      Fractint Version 15.0                     Page 55
  2976.  
  2977.   Try the following unfortunately circuitous approach. Invoke Fractint,
  2978.   making sure you have set askvideo=yes. Use a diskvideo mode to create a
  2979.   256 color fractal. You might want to edit the fractint.cfg file to make
  2980.   a diskvideo mode with the same pixel dimensions as your normal video
  2981.   (see "batch=config" command for how to create fractint.cfg). Using the
  2982.   "3" command, enter the file name of the saved 256 color file, say "no"
  2983.   to the "Legal for this machine?" prompt, selecting instead your 2 or 4
  2984.   color mode, and answer the other 3D prompts. You will then see a 3D
  2985.   projection of the fractal. Another example of Stone Soup responsiveness
  2986.   to our fan mail!
  2987.  
  2988.  
  2989.  Making Terrains
  2990.  
  2991.   If you enjoy using Fractint for making landscapes, we now have several
  2992.   new features for you to work with. When doing 3d transformations banding
  2993.   tends to occur because all pixels of a given height end up the same
  2994.   color. Now, colors can be randomized to make the transitions between
  2995.   different colors at different altitudes smoother. Use the new
  2996.   "RANDOMIZE= " variable to accomplish this. If your light source images
  2997.   all look like lunar landscapes since they are all monochrome and have
  2998.   very dark shadows, we now allow you to set the ambient light for
  2999.   adjusting the contrast of the final image. Use the "Ambient= " variable.
  3000.   In addition to being able to create scenes with light sources in
  3001.   monochrome, you can now do it in full color as well. Setting fullcolor=1
  3002.   will generate a Targa-24 file with a full color image which will be a
  3003.   combination of the original colors of the source image (or map file if
  3004.   you select map=something) and the amount of light which reflects off a
  3005.   given point on the surface. Since there can be 256 different colors in
  3006.   the original image and 256 levels of light, you can now generate an
  3007.   image with *lots* of colors. To convert it to a GIF if you can't view
  3008.   Targa files directly, you can use PICLAB (see Appendix E for information
  3009.   about getting PICLAB), and the following commands:
  3010.  
  3011.       SET PALETTE 256
  3012.       SET CREZ 8
  3013.       TLOAD yourfile.tga
  3014.       MAKEPAL
  3015.       MAP
  3016.       GSAVE yourfile.gif
  3017.       EXIT
  3018.   Using the full color option allows you to also set a haze factor with
  3019.   the "haze= " variable to make more distant objects more hazy.
  3020.  
  3021.   As a default, full color files also have the background set to sky blue.
  3022.   Warning, the files which are created with the full color option are very
  3023.   large, 3 bytes per pixel. So make sure to use a disk with enough space.
  3024.   The file is created using Fractint's disk-video caching, but is always
  3025.   created on real disk (expanded or extended memory is not used.) Try the
  3026.   following settings of the new variables in sequence to get a feel for
  3027.   the effect of each one:
  3028.       ;use this with any filltype
  3029.       map=topo
  3030.       randomize=3; adjusting this smooths color transitions
  3031.  
  3032.                      Fractint Version 15.0                     Page 56
  3033.  
  3034.       ;now add this using filltype 5 or 6
  3035.       ambient=20; adjusting this changes the contrast
  3036.       filltype=6
  3037.       smoothing=2; makes the light not quite as granular as the terrain
  3038.  
  3039.       ;now add the following, and this is where it gets slow
  3040.       fullcolor=1; use PICLAB to reduce resulting lightfile to a GIF
  3041.  
  3042.       ;and finally this
  3043.       haze=20; sets the amount of haze for distant objects
  3044.  
  3045.   When full color is being used, the image you see on the screen will
  3046.   represent the amount of light being reflected, not the colors in the
  3047.   final image. Don't be disturbed if the colors look weird, they are an
  3048.   artifact of the process being used. The image being created in the
  3049.   lightfile won't look like the screen.
  3050.  
  3051.   However, if you are worried, hit ESC several times and when Fractint
  3052.   gets to the end of the current line it will abort. Your partial image
  3053.   will be there as LIGHT001.TGA or with whatever file name you selected
  3054.   with the lightname option. Convert it as described above and adjust any
  3055.   parameters you are not happy with. Its a little awkward, but all we
  3056.   haven't figured out a better way yet.
  3057.  
  3058.  
  3059.  Making 3D Slides
  3060.  
  3061.   Bruce Goren, CIS's resident stereoscopic maven, contributed these tips
  3062.   on what to do with your 3D images (Bruce inspired and prodded us so much
  3063.   we automated much of what follows, allowing both this and actual on
  3064.   screen stereo viewing, but we included it here for reference and a brief
  3065.   tutorial.)
  3066.  
  3067.   "I use a Targa 32 video card and TOPAS graphic software, moving the
  3068.   viewport or imaginary camera left and right to create two separate views
  3069.   of the stationary object in x,y,z, space. The distance between the two
  3070.   views, known as the inter-ocular distance, toe-in or convergence angle,
  3071.   is critical. It makes the difference between good 3-D and headache-
  3072.   generating bad 3-D.
  3073.  
  3074.   "For a 3D fractal landscape, I created and photographed the left and
  3075.   right eye views as if flying by in an imaginary airplane and mounted the
  3076.   film chips for stereo viewing. To make my image, first I generated a
  3077.   plasma cloud based on a color map I calculated to resemble a geological
  3078.   survey map (available on CIS as TARGA.MAP). In the 3D reconstruction, I
  3079.   used a perspective value of 150 and shifted the camera -15 and +15 on
  3080.   the X-axis for the left and right views. All other values were left to
  3081.   the defaults.
  3082.  
  3083.   "The images are captured on a Matrix 3000 film recorder -- basically a
  3084.   box with a high-resolution (1400 lines) black and white TV and a 35mm
  3085.   camera (Konica FS-1) looking at the TV screen through a filter wheel.
  3086.   The Matrix 3000 can be calibrated for 8 different film types, but so far
  3087.   I have only used Kodak Ektachrome 64 daylight for slides and a few print
  3088.   films. I glass mount the film chips myself.
  3089.  
  3090.                      Fractint Version 15.0                     Page 57
  3091.  
  3092.  
  3093.   "Each frame is exposed three times, once through each of the red, blue,
  3094.   and green filters to create a color image from computer video without
  3095.   the scan-lines which normally result from photographing television
  3096.   screens.  The aspect ratio of the resulting images led me to mount the
  3097.   chips using the 7-sprocket Busch-European Emde masks. The best source of
  3098.   Stereo mounting and viewing supplies I know of is an outfit called Reel
  3099.   3-D Enterprises, Inc. at P.O. Box 2368, Culver City, CA 90231, tel. 213-
  3100.   837-2368. "My platform is an IBM PC/AT crystal-swapped up to 9 MHz. The
  3101.   math co-processor runs on a separate 8-MHz accessory sub-board.  The
  3102.   system currently has 6.5 MB of RAM."
  3103.  
  3104.                      Fractint Version 15.0                     Page 58
  3105.  
  3106.  5. Command-Line Parameters, Setting Defaults, Batch Mode
  3107.  
  3108.  
  3109.   Fractint accepts command-line arguments that allow you to load it with
  3110.   your own choice of video mode, starting coordinates, and just about
  3111.   every other parameter and option. These arguments can also be included
  3112.   in a SSTOOLS.INI startup file, or in command files invoked from the
  3113.   command line using a command like "FRACTINT @MYFILE". Fractint first
  3114.   looks along the DOS PATH for any file called SSTOOLS.INI and reads
  3115.   start-up variables from that file. Then, it looks at its own command
  3116.   line; arguments which will over-ride those from the .INI file. General
  3117.   syntax is:
  3118.  
  3119.                 FRACTINT argument argument argument...
  3120.  
  3121.   where the individual arguments are separated by one or more spaces (an
  3122.   individual argument may NOT include spaces). Either upper or lower case
  3123.   may be used, and arguments can be in any order. In an SSTOOLS.INI file
  3124.   you may replace the spaces with Returns.
  3125.  
  3126.   Some terminology:
  3127.   COMMAND=nnn               enter a number in place of "nnn"
  3128.   COMMAND=[filename]        you supply filename
  3129.   COMMAND=yes|no|whatever   choose one of "yes", "no", and "whatever"
  3130.   COMMAND=1st[/2nd[/3rd]] - the slash-separated parameters "2nd" and
  3131.                             "3rd" are optional
  3132.  
  3133.  
  3134.  General Parameters
  3135.  
  3136.   @FILENAME
  3137.   Causes Fractint to read "filename" for arguments. When it finishes, it
  3138.   resumes reading its own command line -- i.e., "FRACTINT MAXITER=250
  3139.   @MYFILE PASSES=1" is legal. This option is only valid on the command
  3140.   line, as Fractint is not clever enough to deal with multiple
  3141.   indirection.
  3142.  
  3143.   FILENAME=[name]
  3144.   Causes Fractint to read the named file, which must either have been
  3145.   saved from an earlier Fractint session (version 7.0 or later) or be a
  3146.   generic GIF file, and use that as the starting point, bypassing the
  3147.   initial information screens. The filetype is optional and defaults to
  3148.   .GIF. Non-Fractint GIF files are restored as fractal type "plasma". On
  3149.   the command line you may omit FILENAME= and just give the name; the full
  3150.   argument is required in SSTOOLS.INI.
  3151.  
  3152.   TYPE=[name]
  3153.   Selects the type of fractal image to display. The default is type
  3154.   "mandel," the M-set.
  3155.  
  3156.   PARAMS=n/n/n/n...
  3157.   Set optional (required, for some fractal types) values used in plotting.
  3158.   These numbers typically represent the real and imaginary portions of
  3159.   some startup value, and are described in detail as needed in chapter 2.
  3160.  
  3161.                      Fractint Version 15.0                     Page 59
  3162.  
  3163.   (Example: FRACTINT TYPE=julia PARAMS=-0.48/0.626 would wait at the
  3164.   opening screen for you to select a video mode, but then proceed straight
  3165.   to the Julia set for the stated x (real) and y (imaginary) coordinates.)
  3166.  
  3167.   CORNERS=xmin/xmax/ymin/ymax[/x3rd/y3rd]
  3168.   Example: corners=-0.739/-0.736/0.288/0.291
  3169.   Begin with these coordinates as the range of x and y coordinates, rather
  3170.   than the default values of (for type=mandel) -2.0/2.0/-1.5/1.5. When you
  3171.   specify four values (the usual case), this defines a rectangle: x-
  3172.   coordinates are mapped to the screen, left to right, from xmin to xmax,
  3173.   y-coordinates are mapped to the screen, bottom to top, from ymin to
  3174.   ymax. Six parameters can be used to describe any rotated or stretched
  3175.   parallelogram:  (xmin,ymax) are the coordinates used for the top-left
  3176.   corner of the screen, (xmax,ymin) for the bottom-right corner, and
  3177.   (x3rd,y3rd) for the bottom-left.
  3178.  
  3179.   CENTER-MAG=[Xctr/Yctr/Mag]
  3180.   This is an alternative way to enter corners as a center point and a
  3181.   magnification that is popular with some fractal programs and
  3182.   publications. Entering just "CENTER-MAG=" tells Fractint whether to use
  3183.   this form rather than corners when creating a batch file with the <B>
  3184.   command. The <TAB> status display shows the "corners" in both forms.
  3185.   Note that an aspect ratio of 1.3333 is assumed; if you have altered the
  3186.   zoom box proportions or rotated the zoom box, this form can no longer be
  3187.   used.
  3188.  
  3189.   PASSES=1|2|guess|btm
  3190.   Selects single-pass, dual-pass, solid-Guessing mode, or the Boundary
  3191.   Tracing algorithm.  The first two take the same total time to finish the
  3192.   display.  Solid-guessing is faster at the risk of errors for a few
  3193.   pixels.  Boundary tracing is sometimes faster, sometimes slower, and
  3194.   isn't correct for some fractal types at all (like the Newton fractals).
  3195.  
  3196.   FLOAT=yes
  3197.   Most fractal types have both a fast integer math and a floating point
  3198.   version. The faster, but possibly less accurate, integer version is the
  3199.   default. If you have a new 80486 or other fast machine with a math
  3200.   coprocessor, or if you are using the continuous potential option (which
  3201.   looks best with high bailout values not possible with our integer math
  3202.   implementation), you may prefer to use floating point. Just add
  3203.   "float=yes" to the command line to do so.
  3204.  
  3205.   MAXITER=nnn
  3206.   Reset the iteration maximum (the number of iterations at which the
  3207.   program gives up and says 'OK, this point seems to be part of the set in
  3208.   question and should be colored [insidecolor]') from the default 150.
  3209.   Values range from 10 to 32000 (super-high iteration limits like 30000
  3210.   are useful when using logarithmic palettes).
  3211.  
  3212.   INSIDE=nnn|bof60|bof61|attractor
  3213.   Set the color of the interior: for example, "inside=0" makes the M-set a
  3214.   stylish basic black. A setting of -1 makes inside=maxiter. Two more
  3215.   options reveal hidden structure inside the lake.  These are
  3216.   inside=bof61, and inside=bof62, named after the figures on pages 61 and
  3217.  
  3218.                      Fractint Version 15.0                     Page 60
  3219.  
  3220.   62 of "Beauty of Fractals". See Appendix for a brilliant explanation of
  3221.   what these do!
  3222.  
  3223.   OUTSIDE=nnn
  3224.   Set the color of the exterior: for example, "OUTSIDE=1" makes all points
  3225.   not INSIDE the fractal set to color 1 (blue). Note that defining an
  3226.   OUTSIDE color forces any image to be a two-color one: either a point is
  3227.   INSIDE the set, or it's OUTSIDE it.
  3228.  
  3229.   BAILOUT=nnn
  3230.   Over-rides the default bailout criterion for escape-time fractals. Can
  3231.   also be set from the parameters screen after selecting a fractal type.
  3232.  
  3233.   INITORBIT=pixel
  3234.   INITORBIT=nnn/nnn
  3235.   Allows control over the value used to begin each Mandelbrot-type orbit.
  3236.   "initorbit=pixel" is the default for most types; this command
  3237.   initializes the orbit to the complex number corresponding to the screen
  3238.   pixel. The command "initorbit=nnn/nnn" uses the entered value as the
  3239.   initializer. See the discussion of the MANDELLAMBDA type for more on
  3240.   this topic.
  3241.  
  3242.   POTENTIAL=maxcolor[/slope[/modulus[/16bit]]]
  3243.   Enables the "continuous potential" coloring mode for all fractal types
  3244.   except plasma clouds, IFS and IFS3D. The four arguments define the
  3245.   maximum color value, the slope of the potential curve, the modulus
  3246.   "bailout" value, and whether 16 bit values are to be calculated.
  3247.   Example: "POTENTIAL=240/2000/40/16bit". The Mandelbrot and Julia types
  3248.   ignore the modulus bailout value and use their own hardwired value of
  3249.   4.0 instead.  See chapter 6 on the continuous-potential algorithm for
  3250.   details.
  3251.  
  3252.   LOGMAP=yes|old|n
  3253.   Selects a compressed relationship between escape-time iterations and
  3254.   palette colors.  See "Logarithmic Palette" section for details.
  3255.  
  3256.   DISTEST=nnn
  3257.   Nonzero values enable the distance estimator method. Any nonzero value
  3258.   has the same effect in monochrome modes. Higher values result in more
  3259.   and narrower color bands in color modes; 1000 is a good value to try.
  3260.  
  3261.   DECOMP=2|4|8|16|32|64|128|256
  3262.   Invokes the corresponding decomposition coloring scheme.
  3263.  
  3264.   BIOMORPH=nnn
  3265.   Turn on biomorph option; set affected pixels to color nnn.
  3266.  
  3267.   INVERT=nn/nn/nn
  3268.   Turns on inversion. The parameters are radius of inversion, x-coordinate
  3269.   of center, and y-coordinate of center. -1 as the first parameter sets
  3270.   the radius to 1/6 the smaller screen dimension; no x/y parameters
  3271.   defaults to center of screen. The values are displayed with the <Tab>
  3272.   command.
  3273.  
  3274.                      Fractint Version 15.0                     Page 61
  3275.  
  3276.   FINATTRACT=no|yes
  3277.   Another option to show coloring inside some Julia "lakes" to show escape
  3278.   time to finite attractors. Works with lambda, magnet types, and possibly
  3279.   others.  See appendix for more information.
  3280.  
  3281.   FUNCTION=[fn1[/fn2[/fn3[/fn4]]]]
  3282.   Allows setting variable functions found in some fractal type formulae.
  3283.   Possible values are sin, cos, sinh, cosh, exp, log, and sqr.
  3284.  
  3285.   FORMULAFILE=[formulafilename]
  3286.   Specifies the default formula file for type=formula fractals (if not
  3287.   FRACTINT.FRM).  Handy if you want to generate one of these fractal types
  3288.   in batch mode.
  3289.  
  3290.   FORMULANAME=[formulaname]
  3291.   Specifies the default formula name for type=formula fractals (the
  3292.   default is no formula at all).  Required if you want to generate one of
  3293.   these fractal types in batch mode, as this is the only way to specify a
  3294.   formula name in that case.
  3295.  
  3296.   IFS=[filename]
  3297.   Use the IFS coded values in [filename] to generate Barnsley IFS fractal
  3298.   images. The default extension is .IFS. See chapter 2 for details.
  3299.  
  3300.   IFS3D=[filename]
  3301.   Use the IFS coded values in [filename] to generate Barnsley IFS3D
  3302.   fractals.
  3303.  
  3304.   LFILE=[lsystemfile]
  3305.   Specifies the default L-System file for type=lsystem fractals (if not
  3306.   FRACTINT.L).
  3307.  
  3308.   LNAME=[lsystemname]
  3309.   Specifies the default L-System name.  Required if you want to generate
  3310.   one of these fractal types in batch mode, as this is the only way to
  3311.   specify an L-System name in that case.
  3312.  
  3313.   PERIODICITY=no|show|nnn
  3314.   Allows control of periodicity checking.  "no" turns it off, "show" lets
  3315.   you see which pixels were painted the "inside" color due to being caught
  3316.   by periodicity.  Specifying a number causes a more conservative
  3317.   periodicity test (each increase of 1 divides the test tolerance by 2).
  3318.   Entering a negative number lets you turn on "show" with that number.
  3319.   Type lambdafn function=exp needs periodicity turned off to be accurate -
  3320.   - there may be other cases.
  3321.  
  3322.   SOUND=off|x|y|z
  3323.   We're all MUCH too busy to waste time with Fractint at work, and no
  3324.   doubt you are too, so "sound=off" is included only for use at home, to
  3325.   avoid waking the kids or your Significant Other, late at night. (By the
  3326.   way, didn't you tell yourself "just one more zoom on LambdaSine" an hour
  3327.   ago?) Suggestions for a "boss" hot-key will be cheerfully ignored, as
  3328.   this sucker is getting big enough without including a spreadsheet screen
  3329.   too. The "sound=x/y/x" options are for the "attractor" fractals, like
  3330.   the Lorenz fractals - they play with the sound on your PC speaker as
  3331.  
  3332.                      Fractint Version 15.0                     Page 62
  3333.  
  3334.   they are generating an image, based on the X or Y or Z co-ordinate they
  3335.   are displaying at the moment.  At the moment, "sound=x" (or y or z)
  3336.   really doesn't work very well when using an integer algorithm - try it
  3337.   with the floating-point toggle set, instead.
  3338.  
  3339.   HERTZ=nnn
  3340.   Adjusts the sound produced by the "sound=x/y/z" option.  Legal values
  3341.   are 200 through 10000.
  3342.  
  3343.   SAVENAME=[name]
  3344.   Set the filename to use when you <S>ave a screen. The default filename
  3345.   is FRACT001. The .GIF extension is optional (Example: SAVENAME=myfile)
  3346.  
  3347.   OVERWRITE=no|yes
  3348.   Sets the savename overwrite flag (default is 'no'). If 'yes', saved
  3349.   files will over-write existing files from previous sessions; otherwise
  3350.   the automatic incrementing of FRACTnnn.GIF will find the first unused
  3351.   filename.
  3352.  
  3353.   GIF87a=YES
  3354.   Backward-compatibility switch to force creation of GIF files in the
  3355.   GIF87a format.  As of version 14, Fractint now defaults to the new
  3356.   GIF89a format which permits storage of fractal information within the
  3357.   format. This switch is only needed if you wish to view Fractint images
  3358.   with a GIF decoder that cannot accept the newer format.
  3359.  
  3360.   BATCH=yes
  3361.   See "Batch Mode notes later in this chapter.
  3362.  
  3363.   SAVETIME=nnn
  3364.   Tells Fractint to automatically do a save every nnn minutes while a
  3365.   calculation is in progress.  This is mainly useful with long batches -
  3366.   see "Batch Mode".
  3367.  
  3368.   MAP=[filename]
  3369.   Reads in a replacement color map from [filename]. This map replaces the
  3370.   default video color map of your VGA or TARGA card. The file must be in
  3371.   the format described in chapter 6. The difference between this argument
  3372.   and an alternate map read in via <L> in color-command mode is that this
  3373.   one is permanent.
  3374.  
  3375.   CYCLELIMIT=nnn
  3376.   Sets the speed of color cycling. Technically, the number of DAC
  3377.   registers updated during a single vertical refresh cycle. Legal values
  3378.   are 1 - 256, default is 55.
  3379.  
  3380.   RSEED=nnnn
  3381.   The initial random-number "seed" for plasma clouds is taken from your
  3382.   PC's internal clock-timer. This argument forces a value (which you can
  3383.   see in the <Tab> display), and allows you to reproduce plasma clouds. A
  3384.   detailed discussion of why a TRULY random number may be impossible to
  3385.   define, let alone generate, will have to wait for "FRACTINT: The 3-MB
  3386.   Doc File."
  3387.  
  3388.                      Fractint Version 15.0                     Page 63
  3389.  
  3390.   BATCH=config
  3391.   Starts a quick batch-mode run that creates a default FRACTINT.CFG file
  3392.   from the full internal video table (FRACTINT.CFG is described in chapter
  3393.   7).
  3394.  
  3395.   SYMMETRY=xxx
  3396.   Forces symmetry to None, Xaxis, Yaxis, XYaxis, Origin, or Pi symmetry.
  3397.   Useful for debugging.
  3398.  
  3399.   ;
  3400.   Indicates the rest of the command line (or the rest of the individual
  3401.   line inside command files) is a comment.
  3402.  
  3403.  
  3404.  Video Parameters
  3405.  
  3406.   VIDEO=xxx
  3407.   Set the initial video mode (and bypass the informational screens). Handy
  3408.   for batch runs. (Example: VIDEO=F4 for IBM 16-color VGA.)
  3409.   (You can obtain the current VIDEO= values from the "Video Modes" help
  3410.   screens inside Fractint.  We don't duplicate them here only because they
  3411.   change so darned often!)
  3412.  
  3413.   ASKVIDEO=yes|no
  3414.   If "no," this eliminates the prompt asking you if a file to be restored
  3415.   is OK for your current video hardware.
  3416.   WARNING: every version of Fractint so far has had a bigger, better, but
  3417.   shuffled-around video table. Since calling for a mode your hardware
  3418.   doesn't support can leave your system in limbo, be careful about leaving
  3419.   this arguments in a command file to be used with future versions of
  3420.   Fractint, particularly for the super-VGA modes.
  3421.  
  3422.   ADAPTER=cga|ega|mcga|vga
  3423.   Skips the video autodetect logic, assumes the specified kind of adapter
  3424.   is present.  Use this only if you have trouble running up.
  3425.  
  3426.   TEXTSAFE=no
  3427.   If return from menu, prompt, or help to an image garbles the image, try
  3428.   specifying this.
  3429.  
  3430.   TEXTSAFE=yes
  3431.   To get rid of the irritating flicker on EGA/VGA during Fractint startup,
  3432.   try specifying this. Remove it if you find that images are scrambled
  3433.   when returning to them from the menu.
  3434.  
  3435.   EXITMODE=nn
  3436.   Sets the bios-supported videomode to use upon exit to the specified
  3437.   value.  nn is in hexadecimal.  The default is 3, which resets to 80x25
  3438.   color text mode on exit.
  3439.  
  3440.   TEXTCOLORS=mono
  3441.   Set text screen colors to simple black and white.
  3442.  
  3443.   TEXTCOLORS=aa/bb/cc/...
  3444.   Set text screen colors. Omit any value to use the default (e.g.
  3445.  
  3446.                      Fractint Version 15.0                     Page 64
  3447.  
  3448.   textcolors=////50 to set just the 5th value). Each value is a 2 digit
  3449.   hexadecimal value; 1st digit is background color (from 0 to 7), 2nd
  3450.   digit is foreground color (from 0 to F).
  3451.   Color values are:
  3452.       0 black     8 gray
  3453.       1 blue      9 light blue
  3454.       2 green     A light green
  3455.       3 cyan      B light cyan
  3456.       4 red       C light red
  3457.       5 magenta   D light magenta
  3458.       6 brown     E yellow
  3459.       7 white     F bright white
  3460.   27 colors can be specified, their meanings are as follows:
  3461.     heading:
  3462.       1  Fractint version info
  3463.       2  heading line development info (not used in released version)
  3464.     help:
  3465.       3  sub-heading
  3466.       4  main text
  3467.       5  instructions at bottom of screen
  3468.     menu, selection boxes, parameter input boxes:
  3469.       6  background around box and instructions at bottom
  3470.       7  low intensity information
  3471.       8  medium intensity information
  3472.       9  high intensity information (e.g. heading)
  3473.      10  current keyin field
  3474.      11  current choice in multiple choice list
  3475.      12  speed key prompt in multiple choice list
  3476.      13  speed key keyin in multiple choice list
  3477.     general (tab key display, IFS parameters, "thinking" display):
  3478.      14  high intensity information
  3479.      15  medium intensity information
  3480.      16  low intensity information
  3481.      17  current keyin field
  3482.     disk video:
  3483.      18  background around box
  3484.      19  high intensity information
  3485.      20  low intensity information
  3486.     diagnostic messages:
  3487.      21  error
  3488.      22  information
  3489.     credits screen:
  3490.      23  bottom lines
  3491.      24  high intensity divider line
  3492.      25  low intensity divider line
  3493.      26  primary authors
  3494.      27  contributing authors
  3495.   The default is
  3496.      textcolors=1F/1A/2E/70/28/78/17/1F/1E/2F/
  3497.                 5F/07/0D/71/70/78/0F/70/0E/0F/
  3498.                 4F/20/17/20/28/0F/07
  3499.   (In a real command file, all values must be on one line.)
  3500.  
  3501.                      Fractint Version 15.0                     Page 65
  3502.  
  3503.  Printer Parameters
  3504.  
  3505.   PRINTER=type[/resolution[/port#]]
  3506.   Defines your printer setup. The SSTOOLS.INI file is a REAL handy place
  3507.   to put this option, so that it's available whenever you have that
  3508.   sudden, irresistible urge for hard copy.
  3509.   Printer types:
  3510.     IB  IBM-compatible (default)
  3511.     EP  Epson-compatible
  3512.     HP  LaserJet
  3513.     CO  Star Micronics Color printer, supposedly Epson-color-compatible
  3514.     PA  Paintjet
  3515.     PS  PostScript
  3516.     PSL Postscript, landscape mode
  3517.   Resolution:
  3518.      In dots per inch. Currently available values are 60, 120, 240 for
  3519.     Epson/IBM; 75, 150, 300 for LaserJet; 90, 180 for Paintjet; 10 through
  3520.     600 for PostScript.
  3521.   Port:
  3522.     1, 2, 3 for LPT1-3; 11, 12, 13, 14 for COM1-4.  With PostScript, a
  3523.     negative port number can be used to redirect printing to a file.
  3524.     Default print-to-filename is FRACT001.PRN and is incremented after
  3525.     each print to file operation.
  3526.  
  3527.   COMPORT=port/baud/options
  3528.   Serial printer port initialization.
  3529.   Port=1,2,3,etc.
  3530.   Baud=115,150,300,600,1200,2400,4800,9600
  3531.   Options: 7,8 | 1,2 | e,n,o (any order).
  3532.   Example: comport=1/9600/n81 for COM1 set to 9600, no parity, 8 bits per
  3533.   character, 1 stop bit.
  3534.  
  3535.   TITLE=yes
  3536.   If specified, title information is added to printouts.
  3537.  
  3538.   Additional options for PostScript printers follow.
  3539.  
  3540.   PRINTFILE=filename
  3541.   Forces print-to-file (like negative port number) and specifies filename.
  3542.  
  3543.   EPSF=1|2|3
  3544.   Forces print-to-file and PostScript, but the default filename is
  3545.   FRACT001.EPS. The number determines how 'well-behaved' a .EPS file is. 1
  3546.   means by-the-book. 2 allows some EPS 'no-nos' like settransfer and
  3547.   setscreen - BUT includes code that should make the code still work
  3548.   without affecting the rest of the non-EPS document. 3 is a free-for-all.
  3549.  
  3550.   TRANSLATE=yes|-n|n
  3551.   Translate=yes prints the negative image of the fractal.
  3552.   Translate=n reduces the image to that many colors. A negative value
  3553.   causes a color reduction as well as a negative image.
  3554.  
  3555.   HALFTONE=frq/ang/sty
  3556.   Tells the PostScript printer how to define its halftone screen. The
  3557.   first value, frequency, defines the number of halftone lines per inch.
  3558.  
  3559.                      Fractint Version 15.0                     Page 66
  3560.  
  3561.   The second chooses the angle (in degrees) that the screen lies at. The
  3562.   third option chooses the halftone 'spot' style. Good default frequencies
  3563.   are between 60 and 80; Good default angles are 45 and 0; the default
  3564.   style is 0. If the halftone= option is not in SSTOOLS, Fractint will
  3565.   print using the printer's default halftone screen, which should have
  3566.   been already set to do a fine job on the printer. This option is
  3567.   presented here for the advanced PostScript owners and those who want to
  3568.   play around.
  3569.   Current halftone styles (no warranty on these!):
  3570.     0 - common circle screen (probably same as hardware default)
  3571.     2 - horizontal line screen
  3572.     4 - vertical line screen
  3573.     others - some have worked, some haven't. They SHOULD produce screens
  3574.     such as: boxes, crosses, rounded crosses, but aren't working as
  3575.     expected yet - explore if you like but don't expect wonders.
  3576.  
  3577.  
  3578.  3D Parameters
  3579.  
  3580.   3D=Yes
  3581.   Resets all 3d parameters to default values. If FILENAME= is given,
  3582.   forces the restore to be performed in 3D mode. Very handy when used with
  3583.   the 'batch=yes' option for batch-mode 3D images. If 3D=Yes follows the
  3584.   setting of any 3d parameters on the command line or in a command file,
  3585.   they will be reset to default values. (Note: the form
  3586.   "3D/=parm/parm/parm ..." for entering 3D parameters still works but will
  3587.   not be supported in the future. Use the variables below. Position-
  3588.   sensitive parameters are nasty and evil, especially when there are
  3589.   dozens of them!)
  3590.  
  3591.   The options below replace selected 3D defaults:
  3592.   SPHERE=yes                 Turns on spherical projection mode
  3593.   LONGITUDE=nn/nn            Longitude minimum and maximum
  3594.   LATITUDE=nn/nn             Latitude minimum and maximum
  3595.   RADIUS=nn                  Radius scale factor
  3596.   ROTATION=nn[/nn[/nn]]      Rotation about x,y, and z axes
  3597.   SCALEZYZ=nn/nn/nn          X,y,and z scale factors
  3598.   ROUGHNESS=nn               Same as z scale factor
  3599.   WATERLINE=nn               Colors nn and below will be "inside" color
  3600.   FILLTYPE=nn                3D filltype
  3601.   PERSPECTIVE=nn             Perspective distance
  3602.   XYSHIFT=nn/nn              Shift image in x and y directions with
  3603.                               perspective
  3604.   LIGHTSOURCE=nn/nn/nn       Coordinates for light-source vector
  3605.   SMOOTHING=nn               Smooths images in light-source fill modes
  3606.   TRANSPARENT=min/max        Defines a range of colors to be treated as
  3607.                               "transparent" when <O>verlaying 3D images.
  3608.   XYADJUST=nn/nn             This shifts the image in the x/y dir without
  3609.                               perspective
  3610.   STEREO=n                   Selects the type of stereo image creation
  3611.   INTEROCULAR=nn             Sets the interocular distance for stereo
  3612.   CONVERGE=nn                Determines the overall image separation
  3613.   CROP=nn/nn/nn/nn           Trims the edges off stereo pairs
  3614.   BRIGHT=nn/nn               Compensates funny glasses filter parameters
  3615.  
  3616.                      Fractint Version 15.0                     Page 67
  3617.  
  3618.   Below are new commands as of version 14 that support Marc Reinig's
  3619.   terrain features.
  3620.  
  3621.   RANDOMIZE=nnn  (0 - 100)
  3622.   This feature randomly varies the color of a pixel to near by colors.
  3623.   Useful to minimize map banding in 3d transformations. Usable with all
  3624.   FILLTYPES. 0 disables, max values is 7. Try 3 - 5.
  3625.  
  3626.   AMBIENT=nnn (0 - 100)
  3627.   Set the depth of the shadows when using full color and light source
  3628.   filltypes. "0" disables the function, higher values lower the contrast.
  3629.  
  3630.   FULLCOLOR=yes
  3631.   Valid with any light source FILLTYPE. Allows you to create a Targa-24
  3632.   file which uses the color of the image being transformed or the map you
  3633.   select and shades it as you would see it in real life. Well, its better
  3634.   than B&W. A good map file to use is topo
  3635.  
  3636.   HAZE=nnn (0 - 100)
  3637.   Gives more realistic terrains by setting the amount of haze for distant
  3638.   objects when using full color in light source FILLTYPES. Works only in
  3639.   the "y" direction currently, so don't use it with much y rotation. Try
  3640.   "rotation=85/0/0". 0 disables.
  3641.  
  3642.   LIGHTNAME=<filename>
  3643.   The name of the Targa-24 file to be created when using full color with
  3644.   light source. Default is light001.tga. If overwrite=no (the default),
  3645.   the file name will be incremented until an unused filename is found.
  3646.   Background in this file will be sky blue.
  3647.  
  3648.   To stay out of trouble, use the complete 3D list, even if you want to
  3649.   use what you think are the default values. It takes a little practice to
  3650.   learn what the default values really are. The best way to create a
  3651.   command file is to use the Batch command <B> on an image you like and
  3652.   then modify the resulting parameters.
  3653.  
  3654.  
  3655.  Setting Defaults (SSTOOLS.INI)
  3656.  
  3657.   If you are familiar with Microsoft's TOOLS.INI or WINDOWS.INI
  3658.   configuration files, the SSTOOLS.INI command file is used in the same
  3659.   way. In particular, you designate a section of SSTOOLS.INI as belonging
  3660.   to a particular program by beginning the section with a label in
  3661.   brackets. Fractint looks for the label [fractint], and ignores any lines
  3662.   it finds in the file belonging to any other label. If an SSTOOLS.INI
  3663.   file looks like this:
  3664.  
  3665.                      Fractint Version 15.0                     Page 68
  3666.  
  3667.   [fractint]
  3668.   sound=off                    ; (for home use only)
  3669.   printer=hp                   ; my printer is a LaserJet
  3670.   [startrek]
  3671.   Aye, captain, but I dinna think the engines can take it!
  3672.   [fractint]
  3673.   inside=0                     ; using "traditional" black
  3674.  
  3675.   Fractint will use only the second, third, and last lines of the file.
  3676.  
  3677.   (Why use a convention like that when Fractint is the only program you
  3678.   know of that uses an SSTOOLS.INI file?  Because there are other programs
  3679.   (such as Lee Crocker's PICLAB) that now use the same file, and people
  3680.   working on other, sister programs to Fractint are going to read that
  3681.   file. And just when you thought it was safe to download again..!)
  3682.  
  3683.  
  3684.  Batch Mode
  3685.  
  3686.   It IS possible, believe it or not, to become so jaded with the screen
  3687.   drawing process, so familiar with the types and options, that you just
  3688.   want to hit a key and do something else until the final images are safe
  3689.   on disk.  To do this, start Fractint with the BATCH=yes parameter added
  3690.   to the command line.  To create a batch file with the parameters
  3691.   required for a particular image you might:
  3692.    o Find an interesting area.  Note the parameters from the <Tab>
  3693.      display.  Then use an editor to write a batch file.
  3694.    o Find an interesting area.  Set all the parameters you'll want in the
  3695.      batch run.  Use the <B> command to store the parameters in
  3696.      FRABATCH.BAT.  Then use an editor to add the required batch mode
  3697.      parameters to the generated FRABATCH.BAT line.
  3698.   Another approach to batch mode calculations, using "FILENAME=" and
  3699.   resume, is described later.
  3700.  
  3701.   When modifying a command line generated by the <B> command, the only
  3702.   parameters you must add for a batch mode run are "BATCH=yes", and
  3703.   "VIDEO=xxx" to select a video mode.  You might want to also add
  3704.   "SAVENAME=[name]" to name the result as something other than the default
  3705.   FRACT001.GIF.  Watch out for the line exceeding the DOS limit of 120
  3706.   characters - if it does, use "fractint @filename" in your batch and put
  3707.   the parameters in another file "filename".
  3708.  
  3709.   "BATCH=yes" tells Fractint to run in batch mode -- that is, Fractint
  3710.   draws the image using whatever other parameters you specified, then acts
  3711.   as if you had hit <S> to save the image, then exits to DOS.
  3712.  
  3713.   "FILENAME=" can be used with "BATCH=yes" to resume calculation of an
  3714.   incomplete image.  For instance, you might interactively find an image
  3715.   you like; then select some slow options (a high resolution disk video
  3716.   mode, distance estimator method, high maxiter, or whatever);  start the
  3717.   calculation;  then interrupt immediately with a <S>ave.  Rename the save
  3718.   file (fract001.gif if it is the first in the session and you didn't name
  3719.   it with the <X> options or "savename=") to xxx.gif. Later you can run a
  3720.   batch file to finish the job:
  3721.       fractint batch=yes filename=xxx savename=xxx
  3722.  
  3723.                      Fractint Version 15.0                     Page 69
  3724.  
  3725.  
  3726.   "SAVETIME=nnn" is useful with long batch calculations, to store a
  3727.   checkpoint every nnn minutes.  If you start a many hour calculation with
  3728.   say "savetime=60", and a power failure occurs during the calculation,
  3729.   you'll have lost at most an hour of work on the image.  You can resume
  3730.   calculation from the save file as above.  Automatic saves triggered by
  3731.   SAVETIME do not increment the save file name. The same file is
  3732.   overwritten by each auto save until the image completes.  But note that
  3733.   Fractint does not directly over-write save files.  Instead, each save
  3734.   operation writes a temporary file FRACTINT.TMP, then deletes the prior
  3735.   save file, then renames FRACTINT.TMP to be the new save file.  This
  3736.   protects against power failures which occur during a save operation - if
  3737.   such a power failure occurs, the prior save file is intact and there's a
  3738.   harmless incomplete FRACTINT.TMP on your disk.
  3739.  
  3740.   If you want to spread a many-hour image over multiple bits of free
  3741.   machine time you could use a batch like:
  3742.       fractint batch=yes filename=xxx savename=xxx savetime=60
  3743.   While this batch is running, hit <S> (almost any key actually) to tell
  3744.   fractint to save what it has done so far and give your machine back.
  3745.   Kick off the batch again when you have another time slice for it.
  3746.  
  3747.   The SAVETIME= parameter, and batch resumes of partial calculations, only
  3748.   work with fractal types which can be resumed.  See "Interrupting and
  3749.   Resuming" for information about non-resumable types.
  3750.  
  3751.                      Fractint Version 15.0                     Page 70
  3752.  
  3753.  6. File Formats, Color Maps and All That
  3754.  
  3755.  
  3756.  Fractint and .GIF Files
  3757.  
  3758.   Since version 5.0, Fractint has had the <S>ave-to-disk command, which
  3759.   stores screen images in the extremely compact, flexible .GIF (Graphics
  3760.   Interchange Format) widely supported on Compuserve. Version 7.0 added
  3761.   the <R>estore-from-disk capability. Unfortunately, this created a
  3762.   problem. The then-current GIF87a specification did not offer a place to
  3763.   store the small amount of extra information that Fractint needs in order
  3764.   to implement the <R> feature -- i.e., the parameters that let you keep
  3765.   zooming, etc. so on as if the restored file had just been created in
  3766.   this session.
  3767.  
  3768.   Fractint got around this restriction in a non-standard manner, saving
  3769.   its application-specific information AFTER the official GIF terminator
  3770.   character. This trick worked with all of the popular GIF decoders that
  3771.   we had tested (although some of them required renaming the file to
  3772.   xxxx.GIF first).
  3773.  
  3774.   We did not claim that these files are true GIF files. For one thing,
  3775.   information after the GIF terminator has the potential to confuse the
  3776.   online GIF viewers used on Compuserve. For another, it is the opinion of
  3777.   some GIF developers that the addition of this extra information violates
  3778.   the GIF87a spec. That's why we used the default filetype .FRA instead.
  3779.  
  3780.   On August 1, 1990, Compuserve released an official upwardly-compatible
  3781.   extension of the GIF87a spec, called GIF89a.  This new spec allows the
  3782.   placement of application data within "extension blocks". Fractint
  3783.   version 14 supports the new spec. We have changed default savename
  3784.   extension from *.FRA to *.GIF.  Version 14 can still read *.FRA files
  3785.   generated by earlier versions.  If for some reason you wish to save
  3786.   files in the older GIF87a format, because, for example, your favorite
  3787.   GIF decoder has not yet been upgraded to GIF89a, just add the command-
  3788.   line parameter "GIF87a=yes".  Then any saved files will use the original
  3789.   GIF87a format without any application-specific information.
  3790.  
  3791.   An easy way to convert an older .FRA file into true .GIF format suitable
  3792.   for uploading is something like this at the DOS prompt:
  3793.  
  3794.   FRACTINT MYFILE.FRA SAVENAME=MYFILE.GIF BATCH=YES
  3795.  
  3796.   Fractint will load MYFILE.FRA, save it in true .GIF format as
  3797.   MYFILE.GIF, and return to DOS.
  3798.  
  3799.   There is one significant advantage to the new GIF89a format compared to
  3800.   the old GIF87a-based .FRA format for Fractint purposes:  the new .GIF
  3801.   files may be uploaded to the Compuserve graphics forums (such as
  3802.   Fractint's home forum, COMART) with fractal information intact.
  3803.   Therefore anyone downloading a Fractint image from Compuserve will also
  3804.   be downloading all the information needed to regenerate the image.
  3805.  
  3806.   GIF and "Graphics Interchange Format" are trademarks of Compuserve
  3807.   Incorporated, an H&R Block Company.
  3808.  
  3809.                      Fractint Version 15.0                     Page 71
  3810.  
  3811.  
  3812.  
  3813.  Continuous Potential
  3814.  
  3815.   Note: This option can only be used with 256 color modes.
  3816.  
  3817.   Fractint's images are usually calculated by the "level set" method,
  3818.   producing bands of color corresponding to regions where the calculation
  3819.   gives the same value. When viewed in 3D, most images other than plasma
  3820.   clouds are like terraced landscapes: most of the surface is either
  3821.   horizontal or vertical.
  3822.  
  3823.   To get the best results with the "illuminated" 3D fill options 5 and 6,
  3824.   there is an alternative approach that yields continuous changes in
  3825.   colors.
  3826.  
  3827.   Continuous potential is approximated by calculating
  3828.  
  3829.            potential =  log(modulus)/2^iterations
  3830.  
  3831.   where "modulus" is the orbit value (magnitude of the complex number)
  3832.   when the modulus bailout was exceeded, at the "iterations" iteration.
  3833.   Clear as mud, right?
  3834.  
  3835.   Fortunately, you don't have to understand all the details. However,
  3836.   there ARE a few points to understand. First, Fractint's criterion for
  3837.   halting a fractal calculation, the "modulus bailout value", is generally
  3838.   set to 4. Continuous potential is inaccurate at such a low value.
  3839.  
  3840.   The bad news is that the integer math which makes the "mandel" and
  3841.   "julia" types so fast imposes a hard-wired maximum value of 127. You can
  3842.   still make interesting images from those types, though, so don't avoid
  3843.   them. You will see "ridges" in the "hillsides." Some folks like the
  3844.   effect.
  3845.  
  3846.   The good news is that the other fractal types, particularly the
  3847.   (generally slower) floating point algorithms, have no such limitation.
  3848.   The even better news is that there is a floating-point algorithm for the
  3849.   "mandel" and "julia" types.  To force the use of a floating-point
  3850.   algorithm, use Fractint with the "FLOAT=YES" command-line toggle.  Only
  3851.   a few fractal types like plasma clouds, the Barnsley IFS/IFS3d types,
  3852.   and "test" are unaffected by this toggle.
  3853.  
  3854.   The parameters for continuous potential are:
  3855.       potential=maxcolor[/slope[/modulus[/16bit]]]
  3856.   These parameters are present on the <Y> options screen.
  3857.  
  3858.   "Maxcolor" is the color corresponding to zero potential, which plots as
  3859.   the TOP of the mountain. Generally this should be set to one less than
  3860.   the number of colors, i.e. usually 255. Remember that the last few
  3861.   colors of the default IBM VGA palette are BLACK, so you won't see what
  3862.   you are really getting unless you change to a different palette.
  3863.  
  3864.   "Slope" affects how rapidly the colors change -- the slope of the
  3865.   "mountains" created in 3D. If this is too low, the palette will not
  3866.  
  3867.                      Fractint Version 15.0                     Page 72
  3868.  
  3869.   cover all the potential values and large areas will be black. If it is
  3870.   too high, the range of colors in the picture will be much less than
  3871.   those available. There is no easy way to predict in advance what this
  3872.   value should be.
  3873.  
  3874.   "Modulus" is the bailout value used to determine when an orbit has
  3875.   "escaped". Larger values give more accurate and smoother potential. A
  3876.   value of 500 gives excellent results. As noted, this value must be <128
  3877.   for the integer fractal types (if you select a higher number, they will
  3878.   use 127).
  3879.  
  3880.   "16bit":  If you transform a continuous potential image to 3D, the
  3881.   illumination modes 5 and 6 will work fine, but the colors will look a
  3882.   bit granular. This is because even with 256 colors, the continuous
  3883.   potential is being truncated to integers. The "16bit" option can be used
  3884.   to add an extra 8 bits of goodness to each stored pixel, for a much
  3885.   smoother result when transforming to 3D.
  3886.  
  3887.   Fractint's visible behavior is unchanged when 16bit is enabled, except
  3888.   that solid guessing and boundary tracing are not used. But when you save
  3889.   an image generated with 16bit continuous potential:
  3890.    o The saved file is a fair bit larger.
  3891.    o Fractint names the file with a .POT extension instead of .GIF, if
  3892.      you didn't specify an extension in "savename".
  3893.    o The image can be used as input to a subsequent <3> command to get
  3894.      the promised smoother effect.
  3895.    o If you happen to view the saved image with a GIF viewer other than
  3896.      Fractint, you'll find that it is twice as wide as it is supposed to
  3897.      be. (Guess where the extra goodness was stored!) Though these files
  3898.      are structurally legal GIF files the double-width business made us
  3899.      think they should perhaps not be called GIF - hence the .POT
  3900.      filename extension.
  3901.  
  3902.   A 16bit (.POT) file can be converted to an ordinary 8 bit GIF by
  3903.   <R>estoring it, changing "16bit" to "no" on the <Y> options screen, and
  3904.   <S>aving.
  3905.  
  3906.   You might find with 16bit continuous potential that there's a long delay
  3907.   at the start of an image, and disk activity during calculation. Fractint
  3908.   uses its disk-video cache area to store the extra 8 bits per pixel - if
  3909.   there isn't sufficient memory available, the cache will page to disk.
  3910.  
  3911.   The following commands can be used to recreate the image that Mark
  3912.   Peterson first prototyped for us, and named "MtMand":
  3913.  
  3914.                   TYPE=mandel
  3915.                   CORNERS=-0.19920/-0.11/1.0/1.06707
  3916.                   INSIDE=255
  3917.                   MAXITER=255
  3918.                   POTENTIAL=255/2000/1000/16bit
  3919.                   PASSES=1
  3920.                   FLOAT=yes
  3921.  
  3922.                      Fractint Version 15.0                     Page 73
  3923.  
  3924.   Note that prior to version 15.0, Fractint:
  3925.    o Produced "16 bit TGA potfiles" This format is no longer generated,
  3926.      but you can still (for a release or two) use <R> and <3> with those
  3927.      files.
  3928.    o Assumed "inside=maxit" for continuous potential. It now uses the
  3929.      current "inside=" value - to recreate prior results you must be
  3930.      explicit about this parameter.
  3931.  
  3932.  
  3933.  Palette Maps
  3934.  
  3935.   If you have a VGA, Super-VGA, 8514/A, or TARGA video adapter, you can
  3936.   save and restore your color palette using special color-map files and
  3937.   either the command-line "map=" option, or the "L" and "S" commands in
  3938.   color-cycling and palette-editing modes.  These color-maps are ASCII
  3939.   files set up as a series of RGB triplet values (one triplet per line,
  3940.   encoded as the red, green, and blue [RGB] components of the color).
  3941.  
  3942.   Note that the color values are in GIF format - values go from 0 (low) to
  3943.   255 (high), so for a VGA adapter they get divided by 4 before being
  3944.   stuffed into the VGA's Video-DAC registers (so '6' and '7' end up
  3945.   referring to the same color value).
  3946.  
  3947.   The default filetype for color-map files is ".MAP".
  3948.  
  3949.   The distribution file contains sample .MAP files for you to examine and
  3950.   modify - DEFAULT.MAP (the VGA start-up values), ALTERN.MAP (the famous
  3951.   "Peterson-Vigneau Pseudo-Grey Scale"), GAMMA1.MAP and GAMMA2.MAP (Lee
  3952.   Crocker's response to ALTERN.MAP), LANDSCAP.MAP (Guruka Singh Khalsa's
  3953.   favorite color-map for plasma "landscapes"), TOPO.MAP (Monte Davis's
  3954.   contribution to full color terrain), and GRID.MAP (great for stereo
  3955.   surface grid images).
  3956.  
  3957.                      Fractint Version 15.0                     Page 74
  3958.  
  3959.  7. Hardware Support
  3960.  
  3961.  
  3962.   True to the spirit of public-domain programming, Fractint makes only a
  3963.   limited attempt to verify that your video adapter can run in the mode
  3964.   you specify, or even that an adapter is present, before writing to it.
  3965.   Hence the warning to check your "VIDEO=" argument before using a new
  3966.   version, in which the old key combo may now call an ultraviolet
  3967.   holographic mode.
  3968.  
  3969.   Fractint also assumes that every EGA adapter has a full 256K of memory
  3970.   (and can therefore display 640 x 350 x 16 colors), but does nothing to
  3971.   verify that fact before slinging pixels.
  3972.  
  3973.  
  3974.  Notes on Video Modes, "Standard" and Otherwise
  3975.  
  3976.   Fractint uses a video adapter table in the "C" program for everything it
  3977.   needs to know about any particular adapter/mode combination. This table
  3978.   can contain information for up to 98 adapter/mode combinations, and is
  3979.   automatically tied to 84 keys (F2-F10, their Control/ Shift/Alt
  3980.   variants, and many Alt-x keypad combos) when the program is running.
  3981.   The table entries, and the function keys they are tied to, are displayed
  3982.   as part of the help screens and in the video mode selection list.
  3983.  
  3984.   This table makes adding support for various third-party video cards and
  3985.   their modes much easier, at least for the ones that pretend to be a
  3986.   standard adapter with more dots and/or colors. There is even a special
  3987.   "roll-your-own" video mode (mode 19) enabling those of you with "C"
  3988.   compilers and a copy of the Fractint source to generate video modes
  3989.   supporting whatever adapter you may have. You can customize the table
  3990.   using the external configuration file FRACTINT.CFG, described below.
  3991.  
  3992.   The table as currently distributed begins with nine standard and several
  3993.   non-standard IBM video modes that have been exercised successfully with
  3994.   a PS/2 model 80. These entries, coupled with the descriptive comments in
  3995.   the table definition and the information supplied (or that should have
  3996.   been supplied!) with your video adapter, should be all you need to add
  3997.   your own entries.
  3998.  
  3999.   320 x 400 x 256 and 360 x 480 x 256 VGA MODES
  4000.  
  4001.   The IBM VGA adapter is a highly programmable device, and can be set up
  4002.   to display many video-mode combinations beyond those "officially"
  4003.   supported by the IBM BIOS. These video modes are perfectly legal, but
  4004.   temporarily reprogram the adapter (IBM or fully register-compatible) in
  4005.   a non-standard manner that the BIOS does not recognize. Because of this,
  4006.   the program cannot send any text to the screen while it is in one of
  4007.   these modes (the BIOS would garbage it). An internal flag inhibits all
  4008.   text output while the screen is in one of these video modes. Fractint's
  4009.   <F1> (help) and <Tab> commands still work, because they temporarily
  4010.   switch the screen to an alternate video mode.
  4011.  
  4012.                      Fractint Version 15.0                     Page 75
  4013.  
  4014.   8514/A MODES
  4015.  
  4016.   The IBM 8514/A modes use IBM's software interface, and require the pre-
  4017.   loading of IBM's HDIDLOAD TSR utility. There are two sets of 8514/A
  4018.   modes: full sets (640x480, 1024x768) which cover the entire screen and
  4019.   do NOT have a border color (so that you cannot tell when you are
  4020.   "paused" in a color-cycling mode), and partial sets (632x474, 1016x762)
  4021.   with small border areas which do turn white when you are paused in
  4022.   color-cycling mode. Also, while these modes are declared to be 256-
  4023.   color, if you do not have your 8514/A adapter loaded with its full
  4024.   complement of memory you will actually be in 16-color mode. Finally,
  4025.   because IBM's interface does not handle drawing single pixels very well
  4026.   (we have to draw a 1x1 pixel "box"), generating the zoom box is
  4027.   excruciatingly slow. Still, it works!
  4028.  
  4029.   SUPER-EGA AND SUPER-VGA MODES
  4030.  
  4031.   After the IBM and quasi-pseudo-demi-IBM modes, the table contains an
  4032.   ever-increasing number of entries for other adapters. Almost all of
  4033.   these entries have been added because someone like you sent us spec
  4034.   sheets, or modified Fractint to support them and then informed us about
  4035.   it.  With version 12.0, we've added both John Bridges' SuperVGA
  4036.   Autodetecting logic *and* VESA adapter detection, so that many of the
  4037.   brand-specific SuperVGA modes have been collapsed into a single function
  4038.   key.  There is now exactly one function key for SuperVGA 640x480x256
  4039.   mode, for instance.
  4040.  
  4041.   TARGA MODES
  4042.  
  4043.   TARGA support for Fractint is provided courtesy of Joe McLain. Be aware
  4044.   that there are a LOT of possible TARGA configurations, and a LOT of
  4045.   opportunities for a TARGA board and a VGA or EGA board to interfere with
  4046.   each other, and we may not have all of them smoothed away yet.  Also,
  4047.   the TARGA boards have an entirely different color-map scheme than the
  4048.   VGA cards, and at the moment they cannot be run through the color-
  4049.   cycling menu. The "MAP=" argument (chapter 5), however, works with both
  4050.   TARGA and VGA boards and enables you to redefine the default color maps
  4051.   with either board.
  4052.  
  4053.   "DISK-VIDEO" MODES
  4054.  
  4055.   These "video modes" do not involve a video adapter at all. They use (in
  4056.   order or preference) your expanded memory, your extended memory, or your
  4057.   disk drive (as file FRACTINT.DSK) to store the fractal image. These
  4058.   modes are useful for creating images beyond the capacity of your video
  4059.   adapter, right up to the current internal limit of 2048 x 2048 x 256,
  4060.   and for background processing under multi-tasking DOS managers.
  4061.  
  4062.   While you are in a disk-video mode, your screen will display text
  4063.   information indicating whether memory or your disk drive is being used,
  4064.   and what portion of the "screen" is being read from or written to.  A
  4065.   "Cache size" figure is also displayed. 24K is the maximum cache size.
  4066.   If you see a number less than this, it means that you don't have a lot
  4067.   of memory free, and that performance will be less than optimum.  With a
  4068.   very low cache size such as 4 or 6k, performance gets considerably worse
  4069.  
  4070.                      Fractint Version 15.0                     Page 76
  4071.  
  4072.   in cases using solid guessing, boundary tracing, plasma, or anything
  4073.   else which paints the screen non-linearly.  If you have this problem,
  4074.   all we can suggest is having less TSR utilities loaded before starting
  4075.   Fractint, or changing in your config.sys file, such as reducing a very
  4076.   high BUFFERS value.
  4077.  
  4078.   The zoom box is disabled during disk-video modes (you couldn't see where
  4079.   it is anyway).  So is the orbit display feature.
  4080.  
  4081.   When using real disk for your disk-video, Fractint will not generate
  4082.   some "attractor" types (e.g. lorenz) nor "IFS" images.  These would kill
  4083.   your disk drive.  Boundary tracing is allowed - it may give your drive a
  4084.   bit of a workout, but is generally tolerable.
  4085.  
  4086.   When using a real disk, and you are not directing the file to a RAM
  4087.   disk, and you aren't using a disk caching program on your machine,
  4088.   specifying BUFFERS=10 (or more) in your config.sys file is best for
  4089.   performance.  BUFFERS=10,2 or even BUFFERS=10,4 is also good.  It is
  4090.   also best to keep your disk relatively "compressed" (or "defragmented")
  4091.   if you have a utility to do this.
  4092.  
  4093.   In order to use extended memory, you must have HIMEM.SYS or an
  4094.   equivalent that supports the XMS 2.0 standard or higher.  Also, you
  4095.   can't have a VDISK installed in extended memory.  Himem.sys is
  4096.   distributed with Microsoft Windows 286/386 and 3.0.  If you have
  4097.   problems using the extended memory, try rebooting with just himem.sys
  4098.   loaded and see if that clears up the problem.
  4099.  
  4100.   If you are running background disk-video fractals under Windows 3, and
  4101.   you don't have a lot of real memory (over 2Mb), you might find it best
  4102.   to force Fractint to use real disk for disk-video modes.  (Force this by
  4103.   using a .pif file with extended memory and expanded memory set to zero.)
  4104.   Try this if your disk goes crazy when generating background images,
  4105.   which are supposedly using extended or expanded memory.  This problem
  4106.   can occur because, to multi-task, sometimes Windows must page an
  4107.   application's expanded or extended memory to disk, in big chunks.
  4108.   Fractint's own cached disk access may be faster in such cases.
  4109.  
  4110.   "TWEAKED" VGA MODES
  4111.  
  4112.   Fractint contains code that sets up the IBM (or any truly register-
  4113.   compatible) VGA adapter for several extended modes such as 704x528,
  4114.   736x552, 768x576, and 800x600. It does this by programming the VGA
  4115.   controller to use the fastest dot-clock on the IBM adapter (28.322 MHz),
  4116.   throwing more pixels, and reducing the refresh rate to make up for it.
  4117.  
  4118.   These modes push many monitors beyond their rated specs, in terms of
  4119.   both resolution and refresh rate. Signs that your monitor is having
  4120.   problems with a particular "tweaked" mode include:
  4121.    o vertical or horizontal overscan (displaying dots beyond the edges of
  4122.      your visible CRT area)
  4123.    o flickering (caused by a too-slow refresh rate)
  4124.    o vertical roll or total garbage on the screen (your monitor simply
  4125.      can't keep up, or is attempting to "force" the image into a pre-set
  4126.      mode that doesn't fit).
  4127.  
  4128.                      Fractint Version 15.0                     Page 77
  4129.  
  4130.  
  4131.   We have successfully tested the modes up to 768x576 on an IBM PS/2 Model
  4132.   80 connected to IBM 8513, IBM 8514, NEC Multisync II, and Zenith 1490
  4133.   monitors (all of which exhibit some overscan and flicker at the highest
  4134.   rates), and have tested 800x600 mode on the NEC Multisync II (although
  4135.   it took some twiddling of the vertical-size control).
  4136.  
  4137.  
  4138.  FRACTINT.CFG (Customized Video Mode List)
  4139.  
  4140.   If you have a favorite adapter/video mode that you would like to add to
  4141.   Fractint... if you want to remove table entries that do not apply to
  4142.   your system... if you're bothered that your favorite mode requires the
  4143.   <Alt><Left-Shift><Swizzlestick> key combination... or if you are using a
  4144.   non-enhanced keyboard so that you can't USE that combination ... relief
  4145.   is here, and without even learning "C"!
  4146.  
  4147.   Fractint will create an external, editable video configuration file
  4148.   called FRACTINT.CFG, and from then on will use that instead of its
  4149.   internal table as long as it can locate it somewhere along the DOS path.
  4150.   Enter FRACTINT BATCH=CONFIG, and you will get a default file with an
  4151.   entry for every one of the internal video table entries, and you can go
  4152.   to work on it with a text editor.
  4153.  
  4154.   Any line in the file that begins with a tab or a space (or is empty) is
  4155.   treated as a comment. The rest of the lines must consist of ten fields
  4156.   separated by commas. The ten fields are defined as:
  4157.  
  4158.   1. The name of the adapter/video mode (25 chars max, no leading blanks).
  4159.   The adapter is set up for that mode via INT 10H, with:
  4160.   2. AX = this,
  4161.   3. BX = this,
  4162.   4. CX = this, and
  4163.   5. DX = this (hey, having all these registers wasn't OUR idea!)
  4164.   6. An encoded value describing how to write to your video memory in that
  4165.   mode. Currently available codes are:
  4166.     1) Use the BIOS (INT 10H, AH=12/13, AL=color) (last resort - SLOW!)
  4167.     2) Pretend it's a (perhaps super-res) EGA/VGA
  4168.     3) Pretend it's an MCGA
  4169.     4) SuperVGA 256-Color mode using the Tseng Labs chipset
  4170.     5) SuperVGA 256-Color mode using the Paradise chipset
  4171.     6) SuperVGA 256-Color mode using the Video-7 chipset
  4172.     7) Non-Standard IBM VGA 360 x 480 x 256-Color mode
  4173.     8) SuperVGA 1024x768x16 mode for the Everex chipset
  4174.     9) TARGA video modes
  4175.    10) HERCULES video mode
  4176.    11) Non-Video, i.e. "disk-video"
  4177.    12) 8514/A video modes
  4178.    13) CGA 320x200x4-color and 640x200x2-color modes
  4179.    14) Reserved for Tandy 1000 video modes
  4180.    15) SuperVGA 256-Color mode using the Trident chipset
  4181.    16) SuperVGA 256-Color mode using the Chips & Tech chipset
  4182.    17) SuperVGA 256-Color mode using the ATI VGA Wonder chipset
  4183.    18) SuperVGA 256-Color mode using the EVEREX chipset
  4184.    19) Roll-your-own video mode (as you've defined it in YOURVID.C)
  4185.  
  4186.                      Fractint Version 15.0                     Page 78
  4187.  
  4188.    20) SuperVGA 1024x768x16 mode for the ATI VGA Wonder chipset
  4189.    21) SuperVGA 1024x768x16 mode for the Tseng Labs chipset
  4190.    22) SuperVGA 1024x768x16 mode for the Trident chipset
  4191.    23) SuperVGA 1024x768x16 mode for the Video 7 chipset
  4192.    24) SuperVGA 1024x768x16 mode for the Paradise chipset
  4193.    25) SuperVGA 1024x768x16 mode for the Chips & Tech chipset
  4194.    26) SuperVGA 1024x768x16 mode for the Everex Chipset
  4195.    27) SuperVGA Auto-Detect mode (we poke around looking for your adapter)
  4196.    28) VESA modes
  4197.  
  4198.   7. The number of pixels across the screen (X - 160 to 2048)
  4199.   8. The number of pixels down the screen (Y - 160 to 2048)
  4200.   9. The number of available colors (2, 4, 16, or 256)
  4201.   10. A comment describing this mode (25 chars max, leading blanks are OK)
  4202.  
  4203.   NOTE that the AX, BX, CX, and DX fields are generated (and read back)
  4204.   using hexadecimal notation (fifteen ==> 'f', sixteen ==> '10'), because
  4205.   that's the way most adapter documentation describes it. The other fields
  4206.   use standard decimal notation.
  4207.  
  4208.   If you look closely at the default entries, you will notice that the IBM
  4209.   VGA entries labeled "tweaked" and "non standard" have entries in the
  4210.   table with AX = BX = CX = 0, and DX = some other number. Those are
  4211.   special flags that we used to tell the program to custom-program the VGA
  4212.   adapter, and are NOT undocumented BIOS calls. Maybe they should be, but
  4213.   they aren't.
  4214.  
  4215.   If you have a fancy adapter and a new video mode that works on it, and
  4216.   it is not currently supported, PLEASE GET THAT INFORMATION TO US!  We
  4217.   will add the video mode to the list on our next release, and give you
  4218.   credit for it. Which brings up another point: If you can confirm that a
  4219.   particular video adapter/mode works (or that it doesn't), and the
  4220.   program says it is UNTESTED, please get that information to us also.
  4221.   Thanks in advance!
  4222.  
  4223.                      Fractint Version 15.0                     Page 79
  4224.  
  4225.  8. Common Problems
  4226.  
  4227.   Of course, Fractint would never stoop to having a "common" problem.
  4228.   These notes describe some, ahem, "special situations" which come up
  4229.   occasionally and which even we haven't the gall to label as "features".
  4230.  
  4231.   Hang during startup:
  4232.     There might be a problem with Fractint's video detection logic and
  4233.     your particular video adapter.  Try running with "fractint
  4234.     adapter=xxx" where xxx is cga, ega, mcga, or vga.  Note that when
  4235.     Fractint is started this way, you may not be able to use the highest
  4236.     resolution modes supported by your adapter.  If this solves the
  4237.     problem, create an SSTOOLS.INI file with the "adapter=xxx" command in
  4238.     it so that the fix will apply to every run.
  4239.     Another possible cause:  If you install the latest Fractint in say
  4240.     directory "newfrac", then run it from another directory with the
  4241.     command "\newfrac\fractint", *and* you have an older version of
  4242.     fractint.exe somewhere in your DOS PATH, a silent hang is all you'll
  4243.     get.  See the notes under "Cannot find FRACTINT.EXE message" for the
  4244.     reason.
  4245.  
  4246.   Scrambled image when returning from a text mode display:
  4247.     If an image which has been partly or completely generated gets partly
  4248.     destroyed when you return to it from the menu, help, or the
  4249.     information display, try starting with "fractint textsafe=no".  If
  4250.     this cures the problem, create an SSTOOLS.INI file with the
  4251.     "textsafe=no" command so that the fix will apply to every run.
  4252.     There are a number of known cases where "textsafe=no" will not cure
  4253.     the problem.  This happens mostly with SVGA boards in higher
  4254.     resolution modes.  Sorry, but we don't have a fix for this yet - we're
  4255.     working on it, perhaps for a near-future version 15.1.  The problem
  4256.     appears to be bios-related; unfortunately the fix will probably be an
  4257.     option which will slow down switches to and from text mode quite a
  4258.     bit.
  4259.     For now, if you have this problem and "textsafe=no" doesn't fix it ,
  4260.     all we can suggest is avoiding invoking the menu, help, and <tab>
  4261.     displays while generating or viewing an image in the video modes which
  4262.     have this problem.
  4263.  
  4264.   Coarse monochrome text:
  4265.     You may find that the menu, help screens, and fractal information
  4266.     screen sometimes display in color, sometimes in coarse monochrome
  4267.     characters.  The monochrome text occurs if you specify "textsafe=no",
  4268.     or if Fractint finds during initialization that your video adapter
  4269.     does not behave in a standard way.  In these cases you may prefer to
  4270.     run with the "textcolors=mono" command for a more consistent
  4271.     appearance in Fractint's text screens.
  4272.  
  4273.   Other video problems:
  4274.     We've had one case where a video driver for Windows does not work
  4275.     properly with Fractint.  If running under Windows, DesqView, or some
  4276.     other layered environment, try running Fractint directly from DOS to
  4277.     see if that avoids the problem.
  4278.     We've also had one case of a problem co-existing with "386 to the
  4279.     Max".
  4280.  
  4281.                      Fractint Version 15.0                     Page 80
  4282.  
  4283.     Also, see the "Hardware Support" section of the manual for information
  4284.     about enhanced video modes - Fractint makes only limited attempts to
  4285.     verify that a video mode you request is actually supported by your
  4286.     adapter.
  4287.  
  4288.   Insufficient memory:
  4289.     Fractint requires a fair bit of memory to run.  Most machines with at
  4290.     least 640k (ok sticklers, make that "PC-compatible" machines) will
  4291.     have no problem.  Machines with 512k and machines with many TSR
  4292.     utilities and/or a LAN interface may have problems.  Some Fractint
  4293.     features allocate memory when required during a run.  If you get a
  4294.     message about insufficient memory, or suspect that some problem is due
  4295.     to a memory shortage, you could try commenting out some TSR utilities
  4296.     in your AUTOEXEC.BAT file, some non-critical drivers in your
  4297.     CONFIG.SYS file, or reducing the BUFFERS parameter in your CONFIG.SYS.
  4298.  
  4299.   "Cannot find FRACTINT.EXE" message:
  4300.     Fractint is an overlayed program - some parts of it are brought from
  4301.     disk into memory only when used.  The overlay manager needs to know
  4302.     where to find the program.  It must be named FRACTINT.EXE (which it is
  4303.     unless somebody renamed it), and you should either be in the directory
  4304.     containing it when you start Fractint, or that directory should be in
  4305.     your DOS PATH.
  4306.  
  4307.   Disk video mode performance:
  4308.     This won't be blindingly fast at the best of times, but there are
  4309.     things which can slow it down and can be tuned.  See "Disk Video
  4310.     Modes" in "Hardware Support" for details.
  4311.  
  4312.                      Fractint Version 15.0                     Page 81
  4313.  
  4314.  9. Fractals and the PC
  4315.  
  4316.  
  4317.  A Little History
  4318.  
  4319.  
  4320.   Before Mandelbrot
  4321.  
  4322.   Like new forms of life, new branches of mathematics and science don't
  4323.   appear from nowhere. The ideas of fractal geometry can be traced to the
  4324.   late nineteenth century, when mathematicians created shapes -- sets of
  4325.   points -- that seemed to have no counterpart in nature.  By a wonderful
  4326.   irony, the "abstract" mathematics descended from that work has now
  4327.   turned out to be MORE appropriate than any other for describing many
  4328.   natural shapes and processes.
  4329.  
  4330.   Perhaps we shouldn't be surprised.  The Greek geometers worked out the
  4331.   mathematics of the conic sections for its formal beauty; it was two
  4332.   thousand years before Copernicus and Brahe, Kepler and Newton overcame
  4333.   the preconception that all heavenly motions must be circular, and found
  4334.   the ellipse, parabola, and hyperbola in the paths of planets, comets,
  4335.   and projectiles.
  4336.  
  4337.   In the 17th century Newton and Leibniz created calculus, with its
  4338.   techniques for "differentiating" or finding the derivative of functions
  4339.   -- in geometric terms, finding the tangent of a curve at any given
  4340.   point.  True, some functions were discontinuous, with no tangent at a
  4341.   gap or an isolated point. Some had singularities: abrupt changes in
  4342.   direction at which the idea of a tangent becomes meaningless. But these
  4343.   were seen as exceptional, and attention was focused on the "well-
  4344.   behaved" functions that worked well in modeling nature.
  4345.  
  4346.   Beginning in the early 1870s, though, a 50-year crisis transformed
  4347.   mathematical thinking. Weierstrass described a function that was
  4348.   continuous but nondifferentiable -- no tangent could be described at any
  4349.   point. Cantor showed how a simple, repeated procedure could turn a line
  4350.   into a dust of scattered points, and Peano generated a convoluted curve
  4351.   that eventually touches every point on a plane. These shapes seemed to
  4352.   fall "between" the usual categories of one-dimensional lines, two-
  4353.   dimensional planes and three-dimensional volumes. Most still saw them as
  4354.   "pathological" cases, but here and there they began to find
  4355.   applications.
  4356.  
  4357.   In other areas of mathematics, too, strange shapes began to crop up.
  4358.   Poincare attempted to analyze the stability of the solar system in the
  4359.   1880s and found that the many-body dynamical problem resisted
  4360.   traditional methods. Instead, he developed a qualitative approach, a
  4361.   "state space" in which each point represented a different planetary
  4362.   orbit, and studied what we would now call the topology -- the
  4363.   "connectedness" -- of whole families of orbits. This approach revealed
  4364.   that while many initial motions quickly settled into the familiar
  4365.   curves, there were also strange, "chaotic" orbits that never became
  4366.   periodic and predictable.
  4367.  
  4368.                      Fractint Version 15.0                     Page 82
  4369.  
  4370.   Other investigators trying to understand fluctuating, "noisy" phenomena
  4371.   -- the flooding of the Nile, price series in economics, the jiggling of
  4372.   molecules in Brownian motion in fluids -- found that traditional models
  4373.   could not match the data. They had to introduce apparently arbitrary
  4374.   scaling features, with spikes in the data becoming rarer as they grew
  4375.   larger, but never disappearing entirely.
  4376.  
  4377.   For many years these developments seemed unrelated, but there were
  4378.   tantalizing hints of a common thread. Like the pure mathematicians'
  4379.   curves and the chaotic orbital motions, the graphs of irregular time
  4380.   series often had the property of self-similarity: a magnified small
  4381.   section looked very similar to a large one over a wide range of scales.
  4382.  
  4383.  
  4384.   Who Is This Guy, Anyway?
  4385.  
  4386.   While many pure and applied mathematicians advanced these trends, it is
  4387.   Benoit Mandelbrot above all who saw what they had in common and pulled
  4388.   the threads together into the new discipline.
  4389.  
  4390.   He was born in Warsaw in 1924, and moved to France in 1935. In a time
  4391.   when French mathematical training was strongly analytic, he visualized
  4392.   problems whenever possible, so that he could attack them in geometric
  4393.   terms.  He attended the Ecole Polytechnique, then Caltech, where he
  4394.   encountered the tangled motions of fluid turbulence.
  4395.  
  4396.   In 1958 he joined IBM, where he began a mathematical analysis of
  4397.   electronic "noise" -- and began to perceive a structure in it, a
  4398.   hierarchy of fluctuations of all sizes, that could not be explained by
  4399.   exiting statistical methods. Through the years that followed, one
  4400.   seemingly unrelated problem after another was drawn into the growing
  4401.   body of ideas he would come to call fractal geometry.
  4402.  
  4403.   As computers gained more graphic capabilities, the skills of his mind's
  4404.   eye were reinforced by visualization on display screens and plotters.
  4405.   Again and again, fractal models produced results -- series of flood
  4406.   heights, or cotton prices -- that experts said looked like "the real
  4407.   thing."
  4408.  
  4409.   Visualization was extended to the physical world as well. In a
  4410.   provocative essay titled "How Long Is the Coast of Britain?" Mandelbrot
  4411.   noted that the answer depends on the scale at which one measures: it
  4412.   grows longer and longer as one takes into account every bay and inlet,
  4413.   every stone, every grain of sand. And he codified the "self-similarity"
  4414.   characteristic of many fractal shapes -- the reappearance of
  4415.   geometrically similar features at all scales.
  4416.  
  4417.   First in isolated papers and lectures, then in two editions of his
  4418.   seminal book, he argued that many of science's traditional mathematical
  4419.   models are ill-suited to natural forms and processes: in fact, that many
  4420.   of the "pathological" shapes mathematicians had discovered generations
  4421.   before are useful approximations of tree bark and lung tissue, clouds
  4422.   and galaxies.
  4423.  
  4424.                      Fractint Version 15.0                     Page 83
  4425.  
  4426.   Mandelbrot was named an IBM Fellow in 1974, and continues to work at the
  4427.   IBM Watson Research Center. He has also been a visiting professor and
  4428.   guest lecturer at many universities.
  4429.  
  4430.  
  4431.  A Little Code
  4432.  
  4433.  
  4434.   Periodicity Logic
  4435.  
  4436.   The "Mandelbrot Lake" in the center of the M-set images is the
  4437.   traditional bane of plotting programs. It sucks up the most computer
  4438.   time because it always reaches the iteration limit -- and yet the most
  4439.   interesting areas are invariably right at the edge the lake.
  4440.  
  4441.   Thanks to Mark Peterson for pointing out (well, he more like beat us
  4442.   over the head until we paid attention) that the iteration values in the
  4443.   middle of Mandelbrot Lake tend to decay to periodic loops (i.e., Z(n+m)
  4444.   == Z(n), a fact that is pointed out on pages 58-61 of "The Beauty of
  4445.   Fractals"). An intelligent program (like the one he wrote) would check
  4446.   for this periodicity once in a while, recognize that iterations caught
  4447.   in a loop are going to max out, and bail out early.
  4448.  
  4449.   For speed purposes, the current version of the program turns this
  4450.   checking algorithm on only if the last pixel generated was in the lake.
  4451.   (The checking itself takes a small amount of time, and the pixels on the
  4452.   very edge of the lake tend to decay to periodic loops very slowly, so
  4453.   this compromise turned out to be the fastest generic answer).
  4454.  
  4455.   Try a full M-set plot with a 1000-iteration maximum with any other
  4456.   program, and then try it on this one for a pretty dramatic proof of the
  4457.   value of periodicity checking.
  4458.  
  4459.   You can get a visual display of the periodicity effects if you press
  4460.   <O>rbits while plotting. This toggles display of the intermediate
  4461.   iterations during the generation process.  It also gives you an idea of
  4462.   how much work your poor little PC is going through for you!  If you use
  4463.   this toggle, it's best to disable solid-guessing first using <1> or <2>
  4464.   because in its second pass, solid-guessing bypasses many of the pixel
  4465.   calculations precisely where the orbits are most interesting.
  4466.  
  4467.   Mark was also responsible for pointing out that 16-bit integer math was
  4468.   good enough for the first few levels of M/J images, where the round-off
  4469.   errors stay well within the area covered by a single pixel. Fractint now
  4470.   uses 16-bit math where applicable, which makes a big difference on non-
  4471.   32-bit PCs.
  4472.  
  4473.                      Fractint Version 15.0                     Page 84
  4474.  
  4475.   Limitations of Integer Math (And How We Cope)
  4476.  
  4477.   By default, Fractint uses 16-bit and/or 32-bit integer math to generate
  4478.   nearly all its fractal types. The advantage of integer math is speed:
  4479.   this is by far the fastest such plotter that we have ever seen on any
  4480.   PC. The disadvantage is an accuracy limit. Integer math represents
  4481.   numbers like 1.00 as 32-bit integers of the form [1.00 * (2^29)]
  4482.   (approximately 500,000,000 digits!) for the Mandelbrot and Julia sets.
  4483.   Other integer fractal types use a bitshift of 24 rather than 29, so 1.0
  4484.   is stored internally as [1.00 * (2^*24)]. This yields accuracy of better
  4485.   than 8 significant digits, and works fine... until the initial values of
  4486.   the calculations on consecutive pixels differ only in the ninth decimal
  4487.   place.
  4488.  
  4489.   At that point, if Fractint has a floating-point algorithm handy for that
  4490.   particular fractal type (and virtually all of the fractal types have one
  4491.   these days), it will silently switch over to the floating-point
  4492.   algorithm and keep right on going.  Fair warning - if you don't have an
  4493.   FPU, the effect is that of a rocket sled hitting a wall of jello, and
  4494.   even if you do, the slowdown is noticeable.
  4495.  
  4496.   If it has no floating-point algorithm, Fractint does the best it can: it
  4497.   switches to its minimal drawing mode, with adjacent pixels having
  4498.   initial values differing by 1 (really 0.000000002).  Attempts to zoom
  4499.   further may result in moving the image around a bit, but won't actually
  4500.   zoom.  If you are stuck with an integer algorithm, you can reach minimal
  4501.   mode with your fifth consecutive "maximum zoom", each of which covers
  4502.   about 0.25% of the previous screen. By then your full-screen image is an
  4503.   area less than 1/(10^13)th [~0.0000000000001] the area of the initial
  4504.   screen.  (If your image is rotated or stretched very slightly, you can
  4505.   run into the wall of jello as early as the fourth consecutive maximum
  4506.   zoom.  Rotating or stretching by larger amounts has less impact on how
  4507.   soon you run into it.)
  4508.  
  4509.   Think of it this way: at minimal drawing mode, your VGA display would
  4510.   have to have a surface area of over one million square miles just to be
  4511.   able to display the entire M-set using the integer algorithms.  Using
  4512.   the floating-point algorithms, your display would have to be big enough
  4513.   to fit the entire solar system out to the orbit of Saturn inside it.  So
  4514.   there's a considerable saving on hardware, electricity and desk space
  4515.   involved here.  Also, you don't have to take out asteroid insurance.
  4516.  
  4517.   32 bit integers also limit the largest number which can be stored.  This
  4518.   doesn't matter much since numbers outside the supported range (which is
  4519.   between -4 and +4) produce a boring single color. If you try to zoom-out
  4520.   to reduce the entire Mandelbrot set to a featureless speck, or to
  4521.   squeeze it to a pancake, you'll find you can't do so in integer math
  4522.   mode.
  4523.  
  4524.                      Fractint Version 15.0                     Page 85
  4525.  
  4526.   The Fractint "Fractal Engine" Architecture
  4527.  
  4528.   Several of the authors would never ADMIT this, but Fractint has evolved
  4529.   a powerful and flexible architecture that makes adding new fractals very
  4530.   easy. (They would never admit this because they pride themselves on
  4531.   being the sort that mindlessly but happily hacks away at code and "sees
  4532.   if it works and doesn't hang the machine".)
  4533.  
  4534.   Many fractal calculations work by taking a rectangle in the complex
  4535.   plane, and, point by point, calculating a color corresponding to that
  4536.   point.  Furthermore, the color calculation is often done by iterating a
  4537.   function over and over until some bailout condition is met.
  4538.  
  4539.   In implementing such a scheme, there are three fractal-specific
  4540.   calculations that take place within a framework that is pretty much the
  4541.   same for them all.  Rather than copy the same code over and over, we
  4542.   created a standard fractal engine that calls three functions that may be
  4543.   bolted in temporarily to the engine.  The "bolting in" process uses the
  4544.   C language mechanism of variable function pointers.
  4545.  
  4546.   These three functions are:
  4547.  
  4548.      1) a setup function that is run once per image, to do any required
  4549.      initialization of variables,
  4550.  
  4551.      2) a once-per-pixel function that does whatever initialization has
  4552.      to be done to calculate a color for one pixel, and
  4553.  
  4554.      3) a once-per-orbit-iteration function, which is the fundamental
  4555.      fractal algorithm that is repeatedly iterated in the fractal
  4556.      calculation.
  4557.  
  4558.   The common framework that calls these functions can contain all sorts of
  4559.   speedups, tricks, and options that the fractal implementor need not
  4560.   worry about.  All that is necessary is to write the three functions in
  4561.   the correct way, and BINGO! - all options automatically apply. What
  4562.   makes it even easier is that usually one can re-use functions 1) and 2)
  4563.   written for other fractals, and therefore only need to write function
  4564.   3).
  4565.  
  4566.   Then it occurred to us that there might be more than one sort of fractal
  4567.   engine, so we even allowed THAT to be bolted in. And we created a data
  4568.   structure for each fractal that includes pointers to these four
  4569.   functions, various prompts, a default region of the complex plane, and
  4570.   various miscellaneous bits of information that allow toggling between
  4571.   Julia and Mandelbrot or toggling between the various kinds of math used
  4572.   in implementation.
  4573.  
  4574.   That sounds pretty flexible, but there is one drawback - you have to be
  4575.   a C programmer and have a C compiler to make use of it! So we took it a
  4576.   step further, and designed a built-in high level compiler, so that you
  4577.   can enter the formulas for the various functions in a formula file in a
  4578.   straightforward algebra-like language, and Fractint will compile them
  4579.   and bolt them in for you!
  4580.  
  4581.                      Fractint Version 15.0                     Page 86
  4582.  
  4583.   There is a terrible down side to this flexibility.  Fractint users
  4584.   everywhere are going berserk. Fractal-inventing creativity is running
  4585.   rampant. Proposals for new fractal types are clogging the mail and the
  4586.   telephones.
  4587.  
  4588.   All we can say is that non-productivity software has never been so
  4589.   potent, and we're sorry, it's our fault!
  4590.  
  4591.   Fractint was compiled using Microsoft C 5.1 and Microsoft Assembler 5.1
  4592.   using the "Medium" model. Note that the assembler code uses the "C"
  4593.   model option added to version 5.1, and must be assembled with the /MX or
  4594.   /ML switch to link with the "C" code. Because it has become too large to
  4595.   distribute comfortably as a single compressed file, and because many
  4596.   downloaders have no intention of ever modifying it, it is now
  4597.   distributed as two files: one containing FRACTINT.EXE, auxiliary files
  4598.   and this document, and another containing complete source code
  4599.   (including a .MAK file and MAKEFRAC.BAT).
  4600.  
  4601.                      Fractint Version 15.0                     Page 87
  4602.  
  4603.  Appendix A  Mathematics of the Fractal Types
  4604.  
  4605.  
  4606.   For functions below, "pixel" is the complex number corresponding to the
  4607.   current pixel. "Fn" can be replace by sin, cos, sinh, cosh, exp, log or
  4608.   sqr. "^" is the exponential operator, z(n) denotes the nth complex orbit
  4609.   value in the sequence z(0), z(1), ..., z(n), z(n+1),...
  4610.  
  4611.   Fractal Type(s)             Formula(s) used
  4612.   -----------------------     -------------------------------------------
  4613.   Mandel, Julia               z(n+1) = z(n)^2 + C
  4614.   Newton, Newtbasin           (roots of) z^n - 1, where n is an integer
  4615.   ComplexNewton, ComplexBasin (roots of) z^a - b, where a,b are complex
  4616.   plasma                      (see the Plasma section for details)
  4617.   Mandelfn, Lambdafn           z(n+1) = Lambda*fn(z(n))+C (function=sin,
  4618.                                 cos, sinh, cosh, exp, log, or sqr)
  4619.   BarnsleyM1, BarnsleyJ1      z(n+1) = (z(n)-1) * C if Real(z) >= 0
  4620.                                else    (z(n)+1) * modulus(C)/C
  4621.   BarnsleyM2, BarnsleyJ2      z(n+1) = (z(n)-1) * C if Real(z(n))*Imag(C)
  4622.                                        +Real(C)*Imag(z(n)) >= 0
  4623.                                else    (z(n)+1) * C
  4624.   BarnsleyM3, BarnsleyJ3      z(n+1) = (Real(z(n))^2 - Imag(z(n))^2 - 1)
  4625.                                       + i * (2*Real(z((n)) * Imag(z((n)))
  4626.                                         if Real(z(n) > 0
  4627.                                else    (Real(z(n))^2 - Imag(z(n))^2 - 1
  4628.                                       + lambda * Real(z(n))
  4629.                                       + i * (2 * Real(z((n)) * Imag(z((n))
  4630.                                              + lambda * Real(z(n))
  4631.   Sierpinski                  z(n+1) = (2x, 2y - 1) if y > .5
  4632.                                else    (2x - 1, 2y) if x > .5
  4633.                                else    (2X, 2y)
  4634.   MandelLambda, Lambda        z(n+1) = (C) * (z(n)^2) + C
  4635.   MarksMandel, MarksJulia     z(n+1) = (C^(Period-1)) * (z(n)^2) + C
  4636.                               ("Period" is a parameter)
  4637.   Cmplxmarksmand,Cmplxmarksjul Same as MarksMandel and MarksJulia except
  4638.                               period parameter is complex rather than real
  4639.   Unity                       (see the Unity section for details)
  4640.   ifs, ifs3D                  (see the IFS section for details)
  4641.   Mandel4, Julia4             z(n+1) = z(n)^4 + C
  4642.   Test                        (as distributed, as simple Mandelbrot
  4643.   fractal)
  4644.   Manfn+zsqrd, Julfn+zsqrd    z(n+1) =  fn(z(n)) + z(n)^2 + C
  4645.   Manzpower, Julzpower        z(n+1) = z(n)^M + C (M is a parameter)
  4646.   Mandel4/Julia4              Special case of manzpower/julzpower (M=4)
  4647.   Manzzpwr, Julzzpwr          z(n+1) = z(n)^z(n) + z(n)^M + C
  4648.   Manfn+exp, Julfn+exp        z(n+1) = fn(z(n)) + e^(z(n)) + C
  4649.   popcorn                     z(n+1) = x(n+1) + i * y(n+1), where
  4650.                               x(n+1) = x(n) - 0.05*sin(y(n)) + tan(3*y(n))
  4651.                               y(n+1) = y(n) - 0.05*sin(x(n)) + tan(3*x(n))
  4652.   popcornjul                  Julia calculation from the popcorn formula.
  4653.   Bifurcation                 (see the Bifurcation section for details)
  4654.   Bif+sinpi
  4655.   Bif=sinpi
  4656.   Biflambda
  4657.  
  4658.                      Fractint Version 15.0                     Page 88
  4659.  
  4660.   Lorenz, Lorenz3d            Lorenz Attractor - orbits of differential
  4661.                               equation:
  4662.                               dx/dt = -a*x + a*y
  4663.                               dy/dt =  b*x - y   -z*x
  4664.                               dz/dt = -c*z + x*y
  4665.                               Solution by 1st order Taylor series:
  4666.                               xnew = x + (-a*x*dt) + (a*y*dt)
  4667.                               ynew = y + (b*x*dt) - (y*dt) - (z*x*dt)
  4668.                               znew = z + (-c*z*dt) + (x*y*dt)
  4669.                               (defaults: dt = .02, a = 5, b = 15, c = 1)
  4670.                               (Lorenz3D is the Lorenz Attractor with the
  4671.                               addition of 3D perspective transformations
  4672.                               as specified by the IFS <E>ditor's
  4673.                               transformation option)
  4674.   Rossler3d                   Orbit is solution to differential equation:
  4675.                               dx/dt = -y -z
  4676.                               dy/dt = x + a*y
  4677.                               dz/dt = b + x*z - c*z
  4678.                               Solution via first order Taylor series:
  4679.                               xnew = x - y*dt -   z*dt
  4680.                               ynew = y + x*dt + a*y*dt
  4681.                               znew = z + b*dt + x*z*dt - c*z*dt
  4682.                               Default params are dt=.04, a=.2, b=.2, c=5.7
  4683.   Henon                       Orbit generated by:
  4684.                               xnew =  1 + y - a*x*x
  4685.                               ynew =  b*x
  4686.                               The default parameters are a=1.4 and b=.3.
  4687.   Pickover                    Orbit generated by:
  4688.                               xnew = sin(a*y) - z*cos(b*x)
  4689.                               ynew = z*sin(c*x) - cos(d*y)
  4690.                               znew = sin(x)
  4691.                               Defaults: a=2.24, b=.43, c=-.65, d=-2.43
  4692.   Gingerbreadman              Orbit generated by:
  4693.                               xnew = 1 - y + |x|
  4694.                               ynew = x
  4695.   Diffusion                   See diffusion type description
  4696.   Julibrot                    See Julibrot type description
  4697.  
  4698.  
  4699.   fn(z*z)                     z(0)=pixel; z(n+1) = fn(z(n)*z(n))
  4700.   fn*fn                       z(0)=pixel; z(n+1) = fn(n)*fn(n)
  4701.   fn*z+z                      z(0)=pixel; z(n+1) = p1*fn(z(n))+p2*z(n)
  4702.   fn+fn                       z(0)=pixel; z(n+1)=p1*fn1(z(n))+p2*fn2(z(n))
  4703.   sqr(1/fn)                   z(0)=pixel; z(n+1) = (1/fn(z(n))*(1/fn(z(n))
  4704.   sqr(fn)                     z(0)=pixel; z(n+1) = fn(z(n))*fn(z(n))
  4705.   spider                      c(0)=z(0)=pixel; z(n+1) = z(n)*z(n) + c(n);
  4706.                               c(n+1) = c(n)/2 + z(n+1)
  4707.   manowar                     c = z1(0) = z(0) = Xcoord + i*Ycoord;
  4708.                               z(n+1) = z(n)^2 + z1(n) + c;
  4709.                               z1(n+1) = z(n);
  4710.   tetrate                     z(0) = c = pixel; z(n+1) = c^z(n)
  4711.   kamtorus, kamtorus3d        (See kamtorus type description for details)
  4712.  
  4713.   magnetj1,j2,m1,m2           (See type descriptions for details)
  4714.  
  4715.                      Fractint Version 15.0                     Page 89
  4716.  
  4717.  
  4718.   INSIDE=bof60|bof61
  4719.  
  4720.   Here is an *ATTEMPTED* explanation of what the inside=bof60 and
  4721.   inside=bof61 options do. This explanation is hereby dedicated to Adrian
  4722.   Mariano, who badgered it out of us! For the *REAL* explanation, see
  4723.   "Beauty of Fractals", page 62.
  4724.  
  4725.   Let p(z) be the function that is repeatedly iterated to generate a
  4726.   fractal using the escape-time algorithm.  For example, p(z) = z^2+c in
  4727.   the case of a Julia set. Then let pk(z) be the result of iterating the
  4728.   function p for k iterations. (The "k" should be shown as a superscript.)
  4729.   We could also use the notation pkc(z) when the function p has a
  4730.   parameter c, as it does in our example.  Now hold your breath and get
  4731.   your thinking cap on. Define a(c) = inf{|pck(0)|:k=1,2,3,...}. In
  4732.   English - a(c) is the greatest lower bound of the images of zero of as
  4733.   many iterations as you like. Put another way, a(c) is the closest to the
  4734.   origin any point in the orbit starting with 0 gets. Then the index (c)
  4735.   is the value of k (the iteration) when that closest point was achieved.
  4736.   Since there may be more than one, index(c) is the least such. Got it?
  4737.   Good, because the "Beauty of Fractals" explanation of this, is, ahhhh,
  4738.   *TERSE* ! Now for the punch line. Inside=bof60 colors the lake
  4739.   alternating shades according to the level sets of a(c).  Each band
  4740.   represents solid areas of the fractal where the closest value of the
  4741.   orbit to the origin is the same.  Inside=bof61 show domains where
  4742.   index(c) is constant.  That is, areas where the iteration when the orbit
  4743.   swooped closest to the origin has the same value. Well, folks, that's
  4744.   the best we can do! Improved explanations will be accepted for the next
  4745.   edition!
  4746.  
  4747.  
  4748.   FINITE ATTRACTORS (inside=attractor)
  4749.  
  4750.   Many of Fractint's fractals involve the iteration of functions of
  4751.   complex numbers until some "bailout" value is exceeded, then coloring
  4752.   the associated pixel according to the number of iterations performed.
  4753.   This process identifies which values tend to infinity when iterated, and
  4754.   gives us a rough measure of how "quickly" they get there.
  4755.  
  4756.   In dynamical terms, we say that "Infinity is an Attractor", as many
  4757.   initial values get "attracted" to it when iterated.  The set of all
  4758.   points that are attracted to infinity is termed The Basin of Attraction
  4759.   of Infinity.  The coloring algorithm used divides this Basin of
  4760.   Attraction into many distinct sets, each a single band of one color,
  4761.   representing all the points that are "attracted" to Infinity at the same
  4762.   "rate".  These sets (bands of color) are termed "Level Sets" - all
  4763.   points in such a set are at the same "Level" away from the attractor, in
  4764.   terms of numbers of iterations required to exceed the bailout value.
  4765.  
  4766.   Thus, Fractint produces colored images of the Level Sets of the Basin of
  4767.   Attraction of Infinity, for all fractals that iterate functions of
  4768.   Complex numbers, at least.  Now we have a sound mathematical definition
  4769.   of what Fractint's "bailout" processing generates, and we have formally
  4770.   introduced the terms Attractor, Basin of Attraction, and Level Set, so
  4771.   you should have little trouble following the rest of this section!
  4772.  
  4773.                      Fractint Version 15.0                     Page 90
  4774.  
  4775.  
  4776.   For certain Julia-type fractals, Fractint can also display the Level
  4777.   Sets of Basins of Attraction of Finite Attractors.  This capability is a
  4778.   by-product of the implementation of the MAGNETic fractal types, which
  4779.   always have at least one Finite Attractor.
  4780.  
  4781.   Most Julia-types that have a "lake" (normally colored blue by default)
  4782.   have a Finite Attractor within this lake, and the lake turns out to be,
  4783.   quite appropriately, the Basin of Attraction of this Attractor.
  4784.  
  4785.   The "inside=attractor" option (command-line or <Y> options screen)
  4786.   instructs Fractint to seek out and identify a possible Finite Attractor
  4787.   and, if found, to display the Level Sets of its Basin of Attraction, in
  4788.   addition to those of the Basin of Attraction of Infinity.  In many cases
  4789.   this results in a "lake" with colored "waves" in it;  in other cases
  4790.   there may be little change in the lake's appearance.
  4791.  
  4792.   For a quick demonstration, select a fractal type of LAMBDA, with a
  4793.   parameter of 0.5 + 0.5i.  You will obtain an image with a large blue
  4794.   lake.  Now set "inside=attractors" with the "X" menu. The image will be
  4795.   re-drawn with a much more colorful lake.  A Finite Attractor lives in
  4796.   the center of one of the resulting "ripple" patterns in the lake - turn
  4797.   the <O>rbits display on to see where it is - the orbits of all initial
  4798.   points that are in the lake converge there.
  4799.  
  4800.   Fractint tests for the presence of a Finite Attractor by iterating a
  4801.   Critical Value of the fractal's function.  If the iteration doesn't bail
  4802.   out before exceeding twice the iteration limit, it is almost certain
  4803.   that we have a Finite Attractor - we assume that we have.
  4804.  
  4805.   Next we define a small circle around it and, after each iteration, as
  4806.   well as testing for the usual bailout value being exceeded, we test to
  4807.   see if we've hit the circle. If so, we bail out and color our pixels
  4808.   according to the number of iterations performed.  Result - a nicely
  4809.   colored-in lake that displays the Level Sets of the Basin of Attraction
  4810.   of the Finite Attractor.  Sometimes !
  4811.  
  4812.   First exception : This does not work for the lakes of Mandel-types.
  4813.   Every point in a Mandel-type is, in effect, a single point plucked from
  4814.   one of its related Julia-types.  A Mandel-type's lake has an infinite
  4815.   number of points, and thus an infinite number of related Julia-type
  4816.   sets, and consequently an infinite number of finite attractors too.  It
  4817.   *MAY* be possible to color in such a lake, by determining the attractor
  4818.   for EVERY pixel, but this would probably treble (at least) the number of
  4819.   iterations needed to draw the image.  Due to this overhead, Finite
  4820.   Attractor logic has not been implemented for Mandel-types.
  4821.  
  4822.   Secondly, certain Julia-types with lakes may not respond to this
  4823.   treatment, depending on the parameter value used.  E.g., the Lambda Set
  4824.   for 0.5 + 0.5i responds well; the Lambda Set for 0.0 + 1.0i does not -
  4825.   its lake stays blue.  Attractors that consist of single points, or a
  4826.   cycle of a finite number of points are ok.  Others are not.  If you're
  4827.   into fractal technospeke, the implemented approach fails if the Julia-
  4828.   type is a Parabolic case, or has Siegel Disks, or has Herman Rings.
  4829.  
  4830.                      Fractint Version 15.0                     Page 91
  4831.  
  4832.   However, all the difficult cases have one thing in common - they all
  4833.   have a parameter value that falls exactly on the edge of the related
  4834.   Mandel-type's lake.  You can avoid them by intelligent use of the
  4835.   Mandel-Julia Space-Bar toggle:  Pick a view of the related Mandel-type
  4836.   where the center of the screen is inside the lake, but not too close to
  4837.   its edge, then use the space-bar toggle.  You should obtain a usable
  4838.   Julia-type with a lake, if you follow this guideline.
  4839.  
  4840.   Thirdly, the initial implementation only works for Julia-types that use
  4841.   the "Standard" fractal engine in Fractint.  Fractals with their own
  4842.   special algorithms are not affected by Finite Attractor logic, as yet.
  4843.  
  4844.   Despite these restrictions, the Finite Attractor logic can produce
  4845.   interesting results.  Just bear in mind that it is principally a bonus
  4846.   off-shoot from the development of the MAGNETic fractal types, and is not
  4847.   specifically tuned for optimal performance for other Julia types.
  4848.  
  4849.   (Thanks to Kevin Allen for the above).
  4850.  
  4851.  
  4852.   The following trig identities are invaluable for coding fractals that
  4853.   use complex-valued transcendental functions.
  4854.  
  4855.      e^(x+iy) = (e^x)cos(y) + i(e^x)sin(y)
  4856.      sin(x+iy) = sin(x)cosh(y) + icos(x)sinh(y)
  4857.      cos(x+iy) = cos(x)cosh(y) - isin(x)sinh(y)
  4858.      sinh(x+iy) = sinh(x)cos(y) + icosh(x)sin(y)
  4859.      cosh(x+iy) = cosh(x)cos(y) + isinh(x)sin(y)
  4860.      ln(x+iy) = (1/2)ln(x*x + y*y) + i(arctan(y/x) + 2kPi)
  4861.                                       (k = 0, +-1, +-2, +-....)
  4862.  
  4863.                        sin(2x)               sinh(2y)
  4864.      tan(x+iy) = ------------------  + i------------------
  4865.                  cos(2x) + cosh(2y)     cos(2x) + cosh(2y)
  4866.  
  4867.                       sinh(2x)                sin(2y)
  4868.      tanh(x+iy) = ------------------ + i------------------
  4869.                   cosh(2x) + cos(2y)    cosh(2x) + cos(2y)
  4870.  
  4871.          z^z = e^(log(z)*z)
  4872.          log(x + iy) = 1/2(log(x*x + y*y) + i(arc_tan(y/x))
  4873.          e^(x + iy) = (cosh(x) + sinh(x)) * (cos(y) + isin(y))
  4874.                      = e^x * (cos(y) + isin(y))
  4875.                      = (e^x * cos(y)) + i(e^x * sin(y))
  4876.  
  4877.                      Fractint Version 15.0                     Page 92
  4878.  
  4879.  Appendix B  Stone Soup With Pixels: The Authors
  4880.  
  4881.   Once upon a time, somewhere in Eastern Europe, there was a great famine.
  4882.   People jealously hoarded whatever food they could find, hiding it even
  4883.   from their friends and neighbors. One day a peddler drove his wagon into
  4884.   a village, sold a few of his wares, and began asking questions as if he
  4885.   planned to stay for the night.
  4886.  
  4887.   [No!  No!  It was three Russian Soldiers! - Lee Crocker]
  4888.   [Wait!  I heard it was a Wandering Confessor! - Doug Quinn]
  4889.   [Well *my* kids have a book that uses Russian Soldiers! - Bert]
  4890.   [Look, who's writing this documentation, anyway? - Monte]
  4891.   [Ah, but who gets it *last* and gets to upload it? - Bert]
  4892.  
  4893.   "There's not a bite to eat in the whole province," he was told. "Better
  4894.   keep moving on."
  4895.  
  4896.   "Oh, I have everything I need," he said. "In fact, I was thinking of
  4897.   making some stone soup to share with all of you." He pulled an iron
  4898.   cauldron from his wagon, filled it with water, and built a fire under
  4899.   it. Then, with great ceremony, he drew an ordinary-looking stone from a
  4900.   velvet bag and dropped it into the water.
  4901.  
  4902.   By now, hearing the rumor of food, most of the villagers had come to the
  4903.   square or watched from their windows. As the peddler sniffed the "broth"
  4904.   and licked his lips in anticipation, hunger began to overcome their
  4905.   skepticism.
  4906.  
  4907.   "Ahh," the peddler said to himself rather loudly, "I do like a tasty
  4908.   stone soup. Of course, stone soup with CABBAGE -- that's hard to beat."
  4909.  
  4910.   Soon a villager approached hesitantly, holding a cabbage he'd retrieved
  4911.   from its hiding place, and added it to the pot. "Capital!" cried the
  4912.   peddler. "You know, I once had stone soup with cabbage and a bit of salt
  4913.   beef as well, and it was fit for a king."
  4914.  
  4915.   The village butcher managed to find some salt beef...and so it went,
  4916.   through potatoes, onions, carrots, mushrooms, and so on, until there was
  4917.   indeed a delicious meal for all. The villagers offered the peddler a
  4918.   great deal of money for the magic stone, but he refused to sell and
  4919.   traveled on the next day. And from that time on, long after the famine
  4920.   had ended, they reminisced about the finest soup they'd ever had.
  4921.  
  4922.                                   ***
  4923.  
  4924.   That's the way Fractint has grown, with quite a bit of magic, although
  4925.   without the element of deception. (You don't have to deceive programmers
  4926.   to make them think that hours of painstaking, often frustrating work is
  4927.   fun... they do it to themselves.)
  4928.  
  4929.   It wouldn't have happened, of course, without Benoit Mandelbrot and the
  4930.   explosion of interest in fractal graphics that has grown from his work
  4931.   at IBM. Or without the example of other Mandelplotters for the PC. Or
  4932.   without those wizards who first realized you could perform Mandelbrot
  4933.   calculations using integer math (it wasn't us - we just recognize good
  4934.  
  4935.                      Fractint Version 15.0                     Page 93
  4936.  
  4937.   algorithms when we steal--uhh--see them).  Or those graphics experts who
  4938.   hang around the Compuserve PICS forum and keep adding video modes to the
  4939.   program.  Or...
  4940.  
  4941.  
  4942.   A WORD ABOUT THE AUTHORS
  4943.  
  4944.   Fractint is the result of a synergy between the main authors, many
  4945.   contributors, and published sources.  All four of the main authors have
  4946.   had a hand in many aspects of the code.  However, each author has
  4947.   certain areas of greater contribution and creativity.  Since there is
  4948.   not room in the help screen for the contributions of the main authors,
  4949.   we list these here to facilitate those who would like to communicate
  4950.   with us on particular subjects.
  4951.  
  4952.   Bert Tyler is the original author.  He wrote the "blindingly fast" 386-
  4953.   specific 32 bit integer math code and the original video mode logic.
  4954.   More than any of the authors, he has personally touched and massaged the
  4955.   entire source. His forte is writing fast 80x86 assembler, his knowledge
  4956.   of a variety of video hardware, and his skill at hacking up the code we
  4957.   send him!
  4958.  
  4959.   Bert has a BA in mathematics from Cornell University.  He has been in
  4960.   programming since he got a job at the computer center in his sophomore
  4961.   year at college - in other words, he hasn't done an honest day's work in
  4962.   his life.  He has been known to pass himself off as a PC expert, a UNIX
  4963.   expert, a statistician, and even a financial modeling expert.  He is
  4964.   currently masquerading as an independent PC consultant, supporting the
  4965.   PC-to-Mainframe communications environment at NIH.  If you sent mail
  4966.   from the Internet to an NIH staffer on his 3+Mail system, it was
  4967.   probably Bert's code that mangled it during the Internet-to-3+Mail
  4968.   conversion.  He also claims to support the MS-Kermit environment at NIH.
  4969.   Fractint is Bert's first effort at building a graphics program.
  4970.  
  4971.   Tim Wegner contributed the original implementation of palette animation,
  4972.   and is responsible for most of the 3D mechanisms.  He provided the main
  4973.   outlines of the "StandardFractal" engine and data structures, and is
  4974.   accused by his cohorts of being "obsessed with options".  Tim is quite
  4975.   proud of having originally integrated the 256 color super VGA modes in
  4976.   Fractint, especially since he knows almost nothing about it!
  4977.  
  4978.   Tim has BA and MA degrees in mathematics from Carleton College and the
  4979.   University of California Berkeley.  He worked for 7 years overseas as a
  4980.   volunteer, doing things like working with Egyptian villagers building
  4981.   water systems. Since returning to the US in 1982, he has written shuttle
  4982.   navigation software, a software support environment prototype, and
  4983.   supported strategic information planning, all at NASA's Johnson Space
  4984.   Center.
  4985.  
  4986.   Mark Peterson invented the periodicity detection logic, several original
  4987.   fractal types, transcendental function libraries, alternate math
  4988.   implementations, the formula compiler, and the "Julibrot" intrinsic 3D
  4989.   fractals - in other words, most of the truly original ideas in Fractint!
  4990.  
  4991.                      Fractint Version 15.0                     Page 94
  4992.  
  4993.   Mark's knowledge of higher mathematics and programming was achieved
  4994.   almost entirely through self-study.  Currently he works as a real-time
  4995.   supervisor of the electrical transmission system for Connecticut and
  4996.   Massachusetts. When not hard at work on programming projects he relaxes
  4997.   with Karate and Judo.
  4998.  
  4999.   Pieter Branderhorst is a late-comer to the group who likes to distract
  5000.   the other authors with enhancements impacting at least 1/2 of the source
  5001.   files at once.  His contributions include super solid guessing, image
  5002.   rotation, resume, and fast disk caching.
  5003.  
  5004.   Pieter left high school to work with computers, back when huge machines
  5005.   had 64k of core.  He's been happily computing since, mostly programming
  5006.   and designing software from comms firmware to database and o/s, and
  5007.   anything between, and large scale online transaction processing
  5008.   applications.  He has worked as a free-lance computer consultant
  5009.   (whatever that means) since 1983.
  5010.  
  5011.  
  5012.   Accessing the Authors
  5013.   ======================================
  5014.  
  5015.   Communication between the authors for development of the next version of
  5016.   Fractint takes place in COMART (Computer Art) Section 15 (Fractals) of
  5017.   CompuServe (CIS).  Access to this area is open to any and all interested
  5018.   in computer generated fractals.  Stop on by if you have any questions or
  5019.   just want to take a peek at what's getting tossed into the soup!
  5020.  
  5021.   Also, you'll find many GIF image files generated by fellow Fractint fans
  5022.   and many fractal programs as well in that forum's data library 15.
  5023.  
  5024.   The following authors have agreed to the distribution of their
  5025.   addresses. Usenet/Internet/Bitnet/Whatevernet users can reach CIS users
  5026.   directly if they know the user ID (i.e., Bert Tyler can be reached as
  5027.   73477.433@compuserve.com).
  5028.  
  5029.   Just remember that CIS charges by the minute, so it costs us a little
  5030.   bit to read a message -- don't kill us with kindness. And don't send all
  5031.   your mail to Bert -- spread it around a little!
  5032.  
  5033.   Main authors:
  5034.  
  5035.   Bert Tyler              [73477,433] on CIS
  5036.   Tyler Software          btyler on BIX
  5037.   124 Wooded Lane
  5038.   Villanova, PA 19085
  5039.   (215) 525-6355
  5040.  
  5041.   Timothy Wegner          [71320,675] on CIS
  5042.   4714 Rockwood           nmittiw@mwvm.mitre.org on Internet
  5043.   Houston, TX 77004       twegner@mwunix.mitre.org on Internet
  5044.   (713) 747-7543
  5045.  
  5046.                      Fractint Version 15.0                     Page 95
  5047.  
  5048.   Mark Peterson           [70441,3353] on CIS
  5049.   The Yankee Programmer
  5050.   405-C Queen St., Suite #181
  5051.   Southington, CT 06489
  5052.   (203) 276-9721
  5053.  
  5054.   Pieter Branderhorst     [72611,2257] on CIS
  5055.   Amthor Computer Consultants
  5056.   3915 Bedford Rd.
  5057.   Victoria, B.C., Canada V8N 4K6
  5058.   (604) 477-1197
  5059.  
  5060.  
  5061.   Contributing authors (list alphabetically);
  5062.  
  5063.   Joseph A Albrecht
  5064.   9250 Old Cedar Ave #215
  5065.   Bloomington, Mn 55425
  5066.   (612) 884-3286
  5067.  
  5068.   Kevin Allen
  5069.   PO Box 335
  5070.   Seven Hills
  5071.   NSW 2147
  5072.   Australia
  5073.  
  5074.   Rob Beyer               [71021,2074] on CIS
  5075.   23 Briarwood Lane
  5076.   Laguna Hills, CA, 92656
  5077.   (714) 831-7665
  5078.   (7-12pm PST & weekends)
  5079.  
  5080.  
  5081.   Michael D. Burkey       burkey@sun9.math.utk.edu on Internet
  5082.   6600 Crossgate Rd.
  5083.   Knoxville, TN 37912
  5084.  
  5085.   Lee Daniel Crocker      [73407,2030] on CIS
  5086.   1380 Jewett Avenue      lcrocker on BIX
  5087.   Pittsburg, CA 94565     ames!pacbell!sactoh0!siva!lee on Usenet
  5088.   (408) 354-8001
  5089.  
  5090.   Monte Davis             [71450,3542] on CIS
  5091.   31 Washington St
  5092.   Brooklyn, NY 11201
  5093.   (718) 625-4610
  5094.  
  5095.   Richard Finegold        [76701,153] on CIS
  5096.   1414 179th Ave NE       richg@blake.acs.washington.edu on InterNET
  5097.   Bellevue, WA 98008      uw-beaver!blake!richg on UseNET
  5098.   (206) 746-2694
  5099.  
  5100.   David Guenther          [70531,3525] on CIS
  5101.   50 Rockview Drive
  5102.   Irvine, CA 92715
  5103.  
  5104.                      Fractint Version 15.0                     Page 96
  5105.  
  5106.  
  5107.   Michael L. Kaufman      [71610,431] on CIS
  5108.   2247 Ridge Ave, #2K     (also accessible via EXEC-PC bbs)
  5109.   Evanston, IL, 60201
  5110.   (708) 864-7916
  5111.  
  5112.   Adrian Mariano           theorem@blake.acs.washington.edu on INTERNET
  5113.   2729 72nd AVE SE
  5114.   Mercer Island, WA 98040
  5115.  
  5116.   Joe McLain              [75066,1257] on CIS
  5117.   McLain Imaging
  5118.   2417 Venier
  5119.   Costa Mesa, CA 92627
  5120.   (714) 642-5219
  5121.  
  5122.   Bob Montgomery          [73357,3140] on CIS
  5123.   (Author of VPIC)
  5124.   132 Parsons Road
  5125.   Longwood, Fl  32779
  5126.  
  5127.   Ethan Nagel             [70022,2552] on CIS
  5128.   PO Box 7
  5129.   Yarnell, Arizona 85362
  5130.   (602)427-3233
  5131.  
  5132.  
  5133.   Marc Reinig             [72410,77] on CIS
  5134.   3415 Merrill Rd.        marco@sun.com!daver!cypress on Usenet
  5135.   Aptos, CA. 95003        abu on BIX
  5136.   (408) 475-2132
  5137.  
  5138.   Lee H. Skinner
  5139.   P.O. Box 14944
  5140.   Albuquerque, NM  87191
  5141.  
  5142.   Dean Souleles           [75115,1671] on CIS
  5143.   8840 Collett Ave.
  5144.   Sepulveda, CA  91343
  5145.   (818) 893-7558
  5146.  
  5147.   Scott Taylor                  [72401,410] on CIS
  5148.   1901 South County Road 23E    DGWM18A on Prodigy
  5149.   Berthoud, CO 80513
  5150.   (303) 651-6692
  5151.  
  5152.   Paul Varner             [73237,441] on CIS
  5153.   PO Box 930
  5154.   Shepherdstown, WV 25443
  5155.   (304) 876-2011
  5156.  
  5157.   Phil Wilson             [76247,3145] on CIS
  5158.   410 State St., #55
  5159.   Brooklyn, NY 11217
  5160.   (718) 624-5272
  5161.  
  5162.                      Fractint Version 15.0                     Page 97
  5163.  
  5164.  Appendix C  Revision History
  5165.  
  5166.   Features first appearing in:
  5167.   ===========================
  5168.  
  5169.   Version 14    8/90
  5170.  
  5171.   LAST MINUTE NEWS FLASH!
  5172.     Compuserve announces the GIF89a on August 1, 1990, and Fractint
  5173.     supports it on August 2! GIF files can now contain fractal
  5174.     information!  Fractint now saves its files in the new GIF89a format by
  5175.     default, and uses .GIF rather than .FRA as a default filetype.  Note
  5176.     that Fractint still *looks* for a .FRA file on file restores if it
  5177.     can't find a .GIF file, and can be coerced into using the old GIF87a
  5178.     format with the new 'gif87a=yes' command-line option.
  5179.  
  5180.   Pieter Branderhorst mounted a major campaign to get his name in lights:
  5181.   Mouse interface:  Diagonals, faster movement, improved feel. Mouse
  5182.     button assignments have changed - see the online help.
  5183.   Zoom box enhancements:  The zoom box can be rotated, stretched, skewed,
  5184.     and panned partially offscreen.  See "More Zoom Box Commands".
  5185.   FINALLY!! You asked for it and we (eventually, by talking Pieter into it
  5186.     [actually he grabbed it]) did it!  Images can be saved before
  5187.     completion, for a subsequent restore and continue.  See "Interrupting
  5188.     and Resuming" and "Batch Mode".
  5189.   Off-center symmetry:  Fractint now takes advantage of x or y axis
  5190.     symmetry anywhere on the screen to reduce drawing time.
  5191.   Panning:  If you move an image up, down, left, or right, and don't
  5192.     change anything else, only the new edges are calculated.
  5193.   Disk-video caching - it is now possible, reasonable even, to do most
  5194.     things with disk video, including solid guessing, 3d, and plasma.
  5195.   Logarithmic palette changed to use all colors.  It now matches regular
  5196.     palette except near the "lake".  "logmap=old" gets the old way.
  5197.   New "savetime=nnn" parameter to save checkpoints during long
  5198.     calculations.
  5199.   Calculation time is shown in <Tab> display.
  5200.  
  5201.   Kevin Allen, of Antipodean origin, did the following:
  5202.   Made Bifurcation/Verhulst into a generalized Fractal Engine (like
  5203.     StandardFractal, but for Bifurcation types), and implemented
  5204.     periodicity checking for Bifurcation types to speed them up.
  5205.   Added Integer version of Verhulst Bifurcation (lots faster now). Integer
  5206.     is the default.  The Floating-Point toggle works, too.
  5207.   Added NEW Fractal types BIFLAMBDA, BIF+SINPI, and BIF=SINPI. These are
  5208.     Bifurcation types that make use of the new Engine. Floating-
  5209.     point/Integer toggle is available for BIFLAMBDA. The SINPI types are
  5210.     Floating-Point only, at this time.
  5211.   Corrected the generation of the MandelLambda Set.  Sorry, but it's
  5212.     always been wrong (up to v 12, at least).  Ask Mandelbrot !
  5213.   Added NEW Fractal types MAGNET1M, MAGNET1J, MAGNET2M, MAGNET2J from "The
  5214.     Beauty of Fractals".  Floating-Point only, so far, but what do you
  5215.     expect with THESE formulae ?!
  5216.   Added new symmetry types XAXIS NOIMAG and XAXIS NOREAL, required by the
  5217.     new MAGNETic Fractal types.
  5218.  
  5219.                      Fractint Version 15.0                     Page 98
  5220.  
  5221.   Added Finite Attractor Bailout (FAB) logic to detect when iterations are
  5222.     approaching a known finite attractor. This is required by the new
  5223.     MAGNETic Fractal types.
  5224.   Added Finite Attractor Detection (FAD) logic which can be used by *SOME*
  5225.     Julia types prior to generating an image, to test for finite
  5226.     attractors, and find their values, for use by FAB logic. Can be used
  5227.     by the new MAGNETic Fractal Types, Lambda Sets, and some other Julia
  5228.     types too.
  5229.  
  5230.   Mike Burkey sent us new tweaked video modes:
  5231.     VGA     - 400x600x256   376x564x256   400x564x256
  5232.     ATI VGA - 832x612x256
  5233.   New HP Paintjet support from Chris Martin
  5234.   New "FUNCTION=" command to allow substition of different transcendental
  5235.     functions for variables in types (allows one type with four of these
  5236.     variables to represent 7*7*7*7 different types!
  5237.   ALL KINDS of new fractal types, some using "FUNCTION=": fn(z*z), fn*fn,
  5238.     fn*z+z, fn+fn, sqr(1/fn), sqr(fn), spider, tetrate, and Manowar. Most
  5239.     of these are generalizations of formula fractal types contributed by
  5240.     Scott Taylor and Lee Skinner.
  5241.   Distance Estimator logic can now be applied to many fractal types using
  5242.     distest= option. The types "demm" and "demj" have been replaced by
  5243.     "type=mandel distest=nnn" and "type=julia distest=nnn"
  5244.   Added extended memory support for diskvideo thanks to Paul Varner
  5245.   Added support for "center and magnification" format for corners.
  5246.   Color 0 is no longer generated except when specifically requested with
  5247.     inside= or outside=.
  5248.   Formula name is now included in <Tab> display and in <S>aved images.
  5249.   Bug fixes - formula type and diskvideo, batch file outside=-1 problem.
  5250.   Now you can produce your favorite fractal terrains in full color instead
  5251.     of boring old monochrome! Use the fullcolor option in 3d! Along with a
  5252.     few new 3D options.
  5253.   New "INITORBIT=" command to allow alternate Mandelbrot set orbit
  5254.     initialization.
  5255.  
  5256.  
  5257.   Version 13.0, 5/90
  5258.  
  5259.   F1 was made the help key.
  5260.     Use F1 for help
  5261.     Use F9 for EGA 320x200x16 video mode
  5262.     Use CF4 for EGA 640x200x16 mode (if anybody uses that mode)
  5263.   Super-Solid-guessing (three or more passes) from Pieter Branderhorst
  5264.     (replaces the old solid-guessing mode)
  5265.   Boundary Tracing option from David Guenther ("fractint passes=btm", or
  5266.     use the new 'x' options screen)
  5267.   "outside=nnn" option sets all points not "inside" the fractal to color
  5268.     "nnn" (and generates a two-color image).
  5269.   'x' option from the main menu brings up a full-screen menu of many
  5270.     popular options and toggle switches
  5271.   "Speed Key" feature for fractal type selection (either use the cursor
  5272.     keys for point-and-shoot, or just start typing the name of your
  5273.     favorite fractal type)
  5274.   "Attractor" fractals (Henon, Rossler, Pickover, Gingerbread)
  5275.   Diffusion fractal type by Adrian Mariano
  5276.  
  5277.                      Fractint Version 15.0                     Page 99
  5278.  
  5279.   "type=formula" formulas from Scott Taylor and Lee H. Skinner.
  5280.   "sound=" options for attractor fractals.  Sound=x  plays speaker tones
  5281.     according to the 'x' attractor value  Sound=y  plays speaker tones
  5282.     according to the 'y' attractor value.  Sound=z  plays speaker tones
  5283.     according to the 'z' attractor value  (These options are best invoked
  5284.     with the floating-point algorithm flag set.)
  5285.   "hertz=" option for adjusting the "sound=x/y/z" output.
  5286.   Printer support for color printers (printer=color) from Kurt Sowa
  5287.   Trident 4000 and Oak Technologies SuperVGA support from John Bridges
  5288.   Improved 8514/A support (the zoom-box keeps up with the cursor keys
  5289.     now!)
  5290.   Tandy 1000 640x200x16 mode from Brian Corbino (which does not, as yet,
  5291.     work with the F1(help) and TAB functions)
  5292.   The Julibrot fractal type and the Starmap option now automatically
  5293.     verify that they have been selected with a 256-color palette, and
  5294.     search for, and use, the appropriate GLASSESn.MAP or ALTERN.MAP
  5295.     palette map when invoked.  *You* were supposed to be doing that
  5296.     manually all along, but *you* probably never read the docs, huh?
  5297.  
  5298.   Bug Fixes:
  5299.     TAB key now works after R(estore) commands
  5300.     PS/2 Model 30 (MCGA) adapters should be able to select 320x200x256
  5301.     mode again (we think)
  5302.     Everex video adapters should work with the Autodetect modes again (we
  5303.     think)
  5304.  
  5305.  
  5306.   Version 12.0, 3/90
  5307.  
  5308.   New SuperVGA Autodetecting and VESA Video modes (you tell us the
  5309.     resolution you want, and we'll figure out how to do it)
  5310.   New Full-Screen Entry for most prompting
  5311.   New Fractal formula interpreter ('type=formula') - roll your own
  5312.     fractals without using a "C" compiler!
  5313.   New 'Julibrot' fractal type
  5314.   Added floating point option to all remaining fractal types.
  5315.   Real (funny glasses) 3D - Now with "real-time" lorenz3D!!
  5316.   Non-Destructive <TAB> - Check out what your fractal parameters are
  5317.     without stopping the generation of a fractal image
  5318.   New Cross-Hair mode for changing individual palette colors (VGA only)
  5319.   Zooming beyond the limits of Integer algorithms (with automatic
  5320.     switchover to a floating-point algorithm when you zoom in "too far")
  5321.   New 'inside=bof60', 'inside=bof61' ("Beauty of Fractals, Page nn")
  5322.     options
  5323.   New starmap ('a' - for astrology? astronomy?) transformation option
  5324.   Restrictions on the options available when using Expanded Memory
  5325.     "Disk/RAM" video mode have been removed
  5326.   And a lot of other nice little clean-up features that we've already
  5327.     forgotten that we've added...
  5328.   Added capability to create 3D projection images (just barely) for people
  5329.     with 2 or 4 color video boards.
  5330.  
  5331.                      Fractint Version 15.0                    Page 100
  5332.  
  5333.   Version 11.0, 1/90
  5334.  
  5335.   More fractal types
  5336.     mandelsinh/lambdasinh        mandelcosh/lambdacosh
  5337.     mansinzsqrd/julsinzsqrd      mansinexp/julsinexp
  5338.     manzzprw/julzzpwr            manzpower/julzpower
  5339.     lorenz (from Rob Beyer)      lorenz3d
  5340.     complexnewton                complexbasin
  5341.     popcorn
  5342.  
  5343.   Most fractal types given an integer and a floating point algorithm.
  5344.     "Float=yes" option now determines whether integer or floating-point
  5345.     algorithms are used for most fractal types.  "F" command toggles the
  5346.     use of floating-point algorithms, flagged in the <Tab> status display
  5347.   8/16/32/../256-Way decomposition option (from Richard Finegold)
  5348.   "Biomorph=", "bailout=", "symmetry="  and "askvideo=" options
  5349.   "T(ransform)" option in the IFS editor lets you select 3D options (used
  5350.     with the Lorenz3D fractal type)
  5351.   The "T(ype)" command uses a new "Point-and-Shoot" method of selecting
  5352.     fractal types rather than prompting you for a type name
  5353.   Bug fixes to continuous-potential algorithm on integer fractals, GIF
  5354.     encoder, and IFS editor
  5355.  
  5356.  
  5357.   Version 10.0, 11/89
  5358.  
  5359.   Barnsley IFS type (Rob Beyer)
  5360.   Barnsley IFS3D type
  5361.   MandelSine/Cos/Exp type
  5362.   MandelLambda/MarksLambda/Unity type
  5363.   BarnsleyM1/J1/M2/J2/M3/J3 type
  5364.   Mandel4/Julia4 type
  5365.   Sierpinski gasket type
  5366.   Demm/Demj and bifurcation types (Phil Wilson), "test" is "mandel" again
  5367.   <I>nversion command for most fractal types
  5368.   <Q>uaternary decomposition toggle and "DECOMP=" argument
  5369.   <E>ditor for Barnsley IFS parameters
  5370.   Command-line options for 3D parameters
  5371.   Spherical 3D calculations 5x faster
  5372.   3D now clips properly to screen edges and works at extreme perspective
  5373.   "RSEED=" argument for reproducible plasma clouds
  5374.   Faster plasma clouds (by 40% on a 386)
  5375.   Sensitivity to "continuous potential" algorithm for all types except
  5376.     plasma and IFS
  5377.   Palette-map <S>ave and Restore (<M>) commands
  5378.   <L>ogarithmic and <N>ormal palette-mapping commands and arguments
  5379.   Maxiter increased to 32,000 to support log palette maps
  5380.    .MAP and .IFS files can now reside anywhere along the DOS path
  5381.   Direct-video support for Hercules adapters (Dean Souleles)
  5382.   Tandy 1000 160x200x16 mode (Tom Price)
  5383.   320x400x256 register-compatible-VGA "tweaked" mode
  5384.   ATI VGA Wonder 1024x768x16 direct-video mode (Mark Peterson)
  5385.   1024x768x16 direct-video mode for all supported chipsets
  5386.   Tseng 640x400x256 mode
  5387.   "Roll-your-own" video mode 19
  5388.  
  5389.                      Fractint Version 15.0                    Page 101
  5390.  
  5391.   New video-table "hot-keys" eliminate need for enhanced keyboard to
  5392.     access later entries
  5393.  
  5394.  
  5395.   Version 9.3, 8/89
  5396.  
  5397.   <P>rint command and "PRINTER=" argument (Matt Saucier)
  5398.   8514/A video modes (Kyle Powell)
  5399.   SSTOOLS.INI sensitivity and '@THISFILE' argument
  5400.   Continuous-potential algorithm for Mandelbrot/Julia sets
  5401.   Light source 3D option for all fractal types
  5402.   "Distance estimator" M/J method (Phil Wilson) implemented as "test" type
  5403.   LambdaCosine and LambdaExponent types
  5404.   Color cycling mode for 640x350x16 EGA adapters
  5405.   Plasma clouds for 16-color and 4-color video modes
  5406.   Improved TARGA support (Joe McLain)
  5407.   CGA modes now use direct-video read/writes
  5408.   Tandy 1000 320x200x16 and 640x200x4 modes (Tom Price)
  5409.   TRIDENT chip-set super-VGA video modes (Lew Ramsey)
  5410.   Direct-access video modes for TRIDENT, Chips & Technologies, and ATI VGA
  5411.     WONDER adapters (John Bridges). and, unlike version 9.1, they WORK in
  5412.     version 9.3!)
  5413.   "zoom-out" (<Ctrl><Enter>) command
  5414.   <D>os command for shelling out
  5415.   2/4/16-color Disk/RAM video mode capability and 2-color video modes
  5416.     supporting full-page printer graphics
  5417.   "INSIDE=-1" option (treated dynamically as "INSIDE=maxiter")
  5418.   Improved <H>elp and sound routines (even a "SOUND=off" argument)
  5419.   Turbo-C and TASM compatibility (really!  Would we lie to you?)
  5420.  
  5421.  
  5422.   Version 8.1, 6/89
  5423.  
  5424.   <3>D restore-from-disk and 3D <O>verlay commands, "3D=" argument
  5425.   Fast Newton algorithm including inversion option (Lee Crocker)
  5426.   16-bit Mandelbrot/Julia logic for 386-class speed with non-386 PCs on
  5427.     "large" images (Mark Peterson)
  5428.   Restore now loads .GIF files (as plasma clouds)
  5429.   TARGA video modes and color-map file options (Joe McLain)
  5430.   30 new color-cycling palette options (<Shft><F1> to <Alt><F10>)
  5431.   "Disk-video, RAM-video, EMS-video" modes
  5432.   Lambda sets now use integer math (with 80386 speedups)
  5433.   "WARN=yes" argument to prevent over-writing old .GIF files
  5434.  
  5435.  
  5436.   Version 7.0, 4/89
  5437.  
  5438.   Restore from disk (from prior save-to-disk using v. 7.0 or later)
  5439.   New types: Newton, Lambda, Mandelfp, Juliafp, Plasma, Lambdasine
  5440.   Many new color-cycling options (for VGA adapters only)
  5441.   New periodicity logic (Mark Peterson)
  5442.   Initial displays recognize (and use) symmetry
  5443.   Solid-guessing option (now the default)
  5444.   Context-sensitive <H>elp
  5445.   Customizable video mode configuration file (FRACTINT.CFG)
  5446.  
  5447.                      Fractint Version 15.0                    Page 102
  5448.  
  5449.   "Batch mode" option
  5450.   Improved super-VGA support (with direct video read/writes)
  5451.   Non-standard 360 x 480 x 256 color mode on a STANDARD IBM VGA!
  5452.  
  5453.  
  5454.   Version 6.0, 2/89
  5455.  
  5456.   32-bit integer math emulated for non-386 processors; FRACT386 renamed
  5457.     FRACTINT
  5458.   More video modes
  5459.  
  5460.  
  5461.   Version 5.1, 1/89
  5462.  
  5463.   Save to disk
  5464.   New! Improved! (and Incompatible!) optional arguments format
  5465.   "Correct" initial image aspect ratio
  5466.   More video modes
  5467.  
  5468.  
  5469.   Version 4.0, 12/88
  5470.  
  5471.   Mouse support (Mike Kaufman)
  5472.   Dynamic iteration limits
  5473.   Color cycling
  5474.   Dual-pass mode
  5475.   More video modes, including "tweaked" modes for IBM VGA and register-
  5476.     compatible adapters
  5477.  
  5478.  
  5479.   Version 3.1, 11/88
  5480.  
  5481.   Julia sets
  5482.  
  5483.  
  5484.   Version 2.1, 10/23/88 (the "debut" on CIS)
  5485.  
  5486.   Video table
  5487.   CPU type detector
  5488.  
  5489.  
  5490.   Version 2.0, 10/10/88
  5491.  
  5492.   Zoom and pan
  5493.  
  5494.  
  5495.   Version 1.0, 9/88
  5496.  
  5497.   The original, blindingly fast, 386-specific 32-bit integer algorithm
  5498.  
  5499.                      Fractint Version 15.0                    Page 103
  5500.  
  5501.  Appendix D  Bibliography
  5502.  
  5503.   BARNSLEY, Michael: "Fractals Everywhere", Academic Press, 1988.
  5504.  
  5505.   DEWDNEY, A. K., "Computer Recreations" columns in "Scientific American"
  5506.      -- 8/85, 7/87, 11/87, 12/88, 7/89.
  5507.  
  5508.   FEDER, Jens: "Fractals", Plenum, 1988.
  5509.      Quite technical, with good coverage of applications in fluid
  5510.      percolation, game theory, and other areas.
  5511.  
  5512.   GLEICK, James: "Chaos: Making a New Science", Viking Press, 1987.
  5513.      The best non-technical account of the revolution in our understanding
  5514.      of dynamical systems and its connections with fractal geometry.
  5515.  
  5516.   MANDELBROT, Benoit: "The Fractal Geometry of Nature", W. H. Freeman &
  5517.      Co., 1982.
  5518.      An even more revised and expanded version of the 1977 work. A rich
  5519.      and sometimes confusing stew of formal and informal mathematics, the
  5520.      prehistory of fractal geometry, and everything else. Best taken in
  5521.      small doses.
  5522.  
  5523.   MANDELBROT, Benoit: "Fractals: Form, Chance, and Dimension", W. H.
  5524.      Freeman & Co., 1977
  5525.      A much revised translation of "Les objets fractals: forme, hasard, et
  5526.      dimension," Flammarion, 1975.
  5527.  
  5528.   PEITGEN, Heinz-Otto & RICHTER, Peter: "The Beauty of Fractals,"
  5529.      Springer-Verlag, 1986.
  5530.      THE coffee-table book of fractal images, knowledgeable on computer
  5531.      graphics as well as the mathematics they portray.
  5532.  
  5533.   PEITGEN, Heinz-Otto & SAUPE, Ditmar: "The Science of Fractal Images,"
  5534.      Springer-Verlag, 1988.
  5535.      A fantastic work, with a few nice pictures, but mostly filled with
  5536.      *equations*!!!
  5537.  
  5538.                      Fractint Version 15.0                    Page 104
  5539.  
  5540.  Appendix E  Other Programs
  5541.  
  5542.  
  5543.   WINFRACT. Bert Tyler has ported Fractint to run under Windows 3!  The
  5544.   same underlying code is used, with a Windows user interface.  Winfract
  5545.   has almost all the functionality of Fractint - the biggest difference is
  5546.   the absence of a zillion weird video modes.  Fractint for DOS will
  5547.   continue to be the definitive version.  Winfract is available from
  5548.   CompuServe in COMART Lib 15, as WINFRA.ZIP (executable) and WINSRC.ZIP
  5549.   (source).
  5550.  
  5551.   PICLAB, by Lee Crocker - a freeware image manipulation utility available
  5552.   from Compuserve in PICS Lib 14, as PICLAB.EXE.  PICLAB can do very
  5553.   sophisticated resizing and color manipulation of GIF and TGA files.  It
  5554.   can be used to reduce 24 bit TGA files generated with the Fractint
  5555.   "lightname" option to GIF files.
  5556.  
  5557.  
  5558.   FDESIGN, by Doug Nelson (CIS ID 70431,3374) - a freeware IFS fractal
  5559.   generator available from Compuserve in COMART Lib 15, and probably on
  5560.   your local BBS.  This program requires a VGA adapter and a Microsoft-
  5561.   compatible mouse, and a floating point coprocessor is highly
  5562.   recommended.  It generates IFS fractals in a *much* more intuitive
  5563.   fashion than Fractint.  It can also (beginning with version 3.0) save
  5564.   its IFS formulas in Fractint-style .IFS files.
  5565.  
  5566.                      Fractint Version 15.0                    Page 105
  5567.  
  5568.  Appendix F  Version13 to Version 14 Type Mapping
  5569.  
  5570.  
  5571.   A number of types in version 13 and earlier have been generalized in
  5572.   version 14. We have added a "backward compatibility" hook that
  5573.   (hopefully) automatically translates these to the new form when the old
  5574.   files are read. Files may be converted via:
  5575.  
  5576.      FRACTINT OLDFILE.FRA SAVENAME=NEWFILE.GIF BATCH=YES
  5577.  
  5578.   In a few cases the biomorph flag was incorrectly set in older files.  In
  5579.   that case, add "biomorph=no" to the command line.
  5580.  
  5581.   This procedure can also be used to convert any *.fra file to the new
  5582.   GIF89a spec, which now allows storage of fractal information.
  5583.  
  5584.  
  5585.   TYPES CHANGED FROM VERSION 13 -
  5586.  
  5587.  
  5588.   V13 NAME                V14 NAME + PARAMETERS
  5589.   --------                --------------------------------------
  5590.  
  5591.   LOGMAP=YES              LOGMAP=OLD   for identical Logmap type
  5592.  
  5593.   DEMJ                    JULIA DISTEST=nnn
  5594.  
  5595.   DEMM                    MANDEL DISTEST=nnn
  5596.  
  5597.                           Note: DISTEST also available on many other
  5598.   fractals
  5599.  
  5600.   MANSINEXP               MANFN+EXP FUNCTION=SIN
  5601.  
  5602.                           Note: New functions for this type are
  5603.                                 cos sinh cosh exp log sqr
  5604.  
  5605.   JULSINEXP               JULFN+EXP FUNCTION=SIN
  5606.  
  5607.                           Note: New functions for this type are
  5608.                                 cos sinh cosh exp log sqr
  5609.  
  5610.   MANSINZSQRD             MANFN+ZSQRD FUNCTION=SQR/SIN
  5611.  
  5612.                           Note: New functions for this type are
  5613.                                 cos sinh cosh exp log sqr
  5614.  
  5615.   JULSINZSQRD             JULFN+ZSQRD FUNCTION=SQR/SIN
  5616.  
  5617.                           Note: New functions for this type are
  5618.                                 cos sinh cosh exp log sqr
  5619.  
  5620.   LAMBDACOS               LAMBDAFN FUNCTION=COS
  5621.  
  5622.   LAMBDACOSH              LAMBDAFN FUNCTION=COSH
  5623.  
  5624.                      Fractint Version 15.0                    Page 106
  5625.  
  5626.  
  5627.   LAMBDAEXP               LAMBDAFN FUNCTION=EXP
  5628.  
  5629.   LAMBDASINE              LAMBDAFN FUNCTION=SIN
  5630.  
  5631.   LAMBDASINH              LAMBDAFN FUNCTION=SINH
  5632.  
  5633.                           Note: New functions for this type are
  5634.                                 log sqr
  5635.  
  5636.   MANDELCOS               MANDELFN FUNCTION=COS
  5637.  
  5638.   MANDELCOSH              MANDELFN FUNCTION=COSH
  5639.  
  5640.   MANDELEXP               MANDELFN FUNCTION=EXP
  5641.  
  5642.   MANDELSINE              MANDELFN FUNCTION=SIN
  5643.  
  5644.   MANDELSINH              MANDELFN FUNCTION=SINH
  5645.  
  5646.                           Note: New functions for this type are
  5647.                                 log sqr
  5648.  
  5649.   MANDELLAMBDA            MANDELLAMBDA INITORBIT=PIXEL
  5650.  
  5651.   POPCORN SYMMETRY=NONE   POPCORNJUL
  5652.  
  5653.   -------------------------------------------------------------
  5654.  
  5655.   Formulas from FRACTINT.FRM in version 13
  5656.  
  5657.   MANDELGLASS             MANDELLAMBDA INITORBIT=.5/0
  5658.  
  5659.   INVMANDEL               V13 divide bug may cause some image differences.
  5660.  
  5661.   NEWTON4                 V13 divide bug may cause some image differences.
  5662.  
  5663.   SPIDER                  V13 divide bug may cause some image differences.
  5664.  
  5665.   MANDELSINE              MANDELFN FUNCTION=SIN BAILOUT=50
  5666.  
  5667.   MANDELCOSINE            MANDELFN FUNCTION=COS BAILOUT=50
  5668.  
  5669.   MANDELHYPSINE           MANDELFN FUNCTION=SINH BAILOUT=50
  5670.  
  5671.   MANDELHYPCOSINE         MANDELFN FUNCTION=COSH BAILOUT=50
  5672.  
  5673.   SCOTTSIN PARAMS=nnn     FN+FN FUNCTION=SIN/SQR BAILOUT=nnn+3
  5674.  
  5675.   SCOTTSINH PARAMS=nnn    FN+FN FUNCTION=SINH/SQR BAILOUT=nnn+3
  5676.  
  5677.   SCOTTCOS PARAMS=nnn     FN+FN FUNCTION=COS/SQR BAILOUT=nnn+3
  5678.  
  5679.   SCOTTCOSH PARAMS=nnn    FN+FN FUNCTION=COSH/SQR BAILOUT=nnn+3
  5680.  
  5681.                      Fractint Version 15.0                    Page 107
  5682.  
  5683.   SCOTTLPC PARAMS=nnn     FN+FN FUNCTION=LOG/COS BAILOUT=nnn+3
  5684.  
  5685.   SCOTTLPS PARAMS=nnn     FN+FN FUNCTION=LOG/SIN BAILOUT=nnn+3
  5686.  
  5687.                           Note: New functions for this type are
  5688.                           sin/sin sin/cos sin/sinh sin/cosh sin/exp
  5689.                           cos/cos cos/sinh cos/cosh cos/exp
  5690.                           sinh/sinh sinh/cosh sinh/exp sinh/log
  5691.                           cosh/cosh cosh/exp cosh/log
  5692.                           exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr
  5693.  
  5694.   SCOTTSZSA PARAMS=nnn    FN(Z*Z) FUNCTION=SIN BAILOUT=nnn+3
  5695.  
  5696.   SCOTTCZSA PARAMS=nnn    FN(Z*Z) FUNCTION=COS BAILOUT=nnn+3
  5697.  
  5698.                           Note: New functions for this type are
  5699.                           sinh cosh exp log sqr
  5700.  
  5701.   SCOTTZSZZ PARAMS=nnn    FN*Z+Z FUNCTION=SIN BAILOUT=nnn+3
  5702.  
  5703.   SCOTTZCZZ PARAMS=nnn    FN*Z+Z FUNCTION=COS BAILOUT=nnn+3
  5704.  
  5705.                           Note: New functions for this type are
  5706.                           sinh cosh exp log sqr
  5707.  
  5708.   SCOTTSZSB PARAMS=nnn    FN*FN FUNCTION=SIN/SIN BAILOUT=nnn+3
  5709.  
  5710.   SCOTTCZSB PARAMS=nnn    FN*FN FUNCTION=COS/COS BAILOUT=nnn+3
  5711.  
  5712.   SCOTTLTS PARAMS=nnn     FN*FN FUNCTION=LOG/SIN BAILOUT=nnn+3
  5713.  
  5714.   SCOTTLTC PARAMS=nnn     FN*FN FUNCTION=LOG/COS BAILOUT=nnn+3
  5715.  
  5716.                           Note: New functions for this type are
  5717.                           sin/cos sin/sinh sin/cosh sin/exp sin/sqr
  5718.                           cos/sinh cos/cosh cos/exp cos/sqr
  5719.                           sinh/sinh sinh/cosh sinh/exp sinh/log sinh/sqr
  5720.                           cosh/cosh cosh/exp cosh/log cosh/sqr
  5721.                           exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr
  5722.  
  5723.   SCOTTSIC PARAMS=nnn     SQR(1/FN) FUNCTION=COS BAILOUT=nnn+3
  5724.  
  5725.   SCOTTSIS PARAMS=nnn     SQR(1/FN) FUNCTION=SIN BAILOUT=nnn+3
  5726.  
  5727.   TETRATE PARAMS=nnn      TETRATE BAILOUT=nnn+3
  5728.  
  5729.                           Note: New function type sqr(1/fn) with
  5730.                                 sin cos sinh cosh exp log sqr
  5731.  
  5732.                           Note: New function type sqr(fn) with
  5733.                                 sin cos sinh cosh exp log sqr
  5734.  
  5735.